언어 기능을 이동
함수가 작업을 수행하기위한 코드의 기본 블록이다.
언어 적어도 주 () 함수를 이동합니다.
사용자는 작업을 지정된 각 기능을 수행하는 논리 함수를 통해 다양한 기능을 분할 할 수있다.
함수 선언은 컴파일러 함수 이름, 반환 형식 및 매개 변수를 알려줍니다.
언어 표준 라이브러리에서 사용할 수있는 내장 된 다양한 기능을 제공합니다 이동합니다. 예를 들어, LEN () 함수는 인수의 종류를 허용 길이의 유형을 리턴 할 수있다. 우리는 문자열의 문자열 길이를 반환 통과하면, 착신 번호가있는 경우, 함수는 상기 어레이에 포함 된 수를 반환한다.
함수 정의
이동 언어 기능은 다음과 같은 형식으로 정의된다 :
func function_name( [parameter list] ) [return_types] { 函数体 }
분석 함수 정의 :
- FUNC : 기능은 FUNC하여 문을 시작합니다
- FUNCTION_NAME : 함수 이름, 함수 이름과 매개 변수 목록은 함께 함수 서명을 구성한다.
- 매개 변수 목록] : 매개 변수의 목록, 자리, 함수가 호출 될 때, 당신은 매개 변수에 값을 전달할 수 등의 매개 변수는,이 값은 실제 매개 변수라고합니다. 매개 변수 목록은 매개 변수의 매개 변수 형식, 순서 및 수를 지정합니다. 매개 변수는 선택 사항이며, 그 기능은 매개 변수를 포함 할 수 없습니다.
- return_types : 반환 형식은 함수가 값을 반환합니다. return_types 열 값의 데이터 형식이다. 일부 기능은 경우에 필요하지 return_types하는 값을 반환 할 필요가 없습니다.
- 함수의 본체 : 코드의 기능 정의입니다.
예
다음 예 () 함수의 코드의 함수는 두 개의 정수 파라미터 NUM1 및 NUM2 통과 한 두 변수의 최대 값을 반환 최대이다 :
/* 函数返回两个数的最大值 */ func max(num1, num2 int) int { /* 声明局部变量 */ var result int if (num1 > num2) { result = num1 } else { result = num2 } return result }
함수 호출
당신이 함수를 만들 때 변경 함수를 호출하여 할당 된 작업을 수행하기 위해 수행해야하는 항목의 기능을 정의합니다.
함수를 호출 함수 매개 변수를 전달하고, 예를 들어, 값을 반환 :
package main import "fmt" func main() { /* 定义局部变量 */ var a int = 100 var b int = 200 var ret int /* 调用函数并返回最大值 */ ret = max(a, b) fmt.Printf( "最大值是 : %d\n", ret ) } /* 函数返回两个数的最大值 */ func max(num1, num2 int) int { /* 定义局部变量 */ var result int if (num1 > num2) { result = num1 } else { result = num2 } return result }
위의 예는 주 () 함수의 최대 () 함수에서 호출 결과는 다음과 같습니다
最大值是 : 200
함수 반환 여러 값
예를 들어, 여러 값을 반환 할 수 있습니다 기능을 이동
package main import "fmt" func swap(x, y string) (string, string) { return y, x } func main() { a, b := swap("Mahesh", "Kumar") fmt.Println(a, b) }
결과의 위의 예제 구현 :
Kumar Mahesh
함수 인수
함수 파라미터 경우, 변수 함수 파라미터로 지칭 될 수있다.
본문에 로컬 변수 함수에 정의 된 매개 변수.
함수를 호출, 당신은 두 가지 방법으로 매개 변수를 전달할 수 있습니다 :
배송 유형 | 기술 |
---|---|
값 전송 | 함수 파라미터가 수정 될 수있는 경우, 실제의 파라미터에 영향을주지 않도록하는 기능을 호출하면, 복사 기능에 전달되는 실제 변수를 지칭 할 때 값이 전달된다. |
참조에 의해 전달 | 참고로 전달하는 함수를 호출하는 함수의 파라미터의 실제의 어드레스를 통과 할 때를 의미하고 함수는 실제 파라미터에 영향을 미칠 것이며, 실행 파라미터를 수정한다. |
통화가 실제 파라미터에 영향을 미치지 않을 것이다 동안 기본적으로, 이동 언어, 즉 값으로 전달된다.
기능 사용
기능 사용 | 기술 |
---|---|
함수 값으로 | 함수가 사용하는 값으로 정의하면 |
클로저 | 클로저는 익명 함수는 동적 프로그래밍에 사용될 수있다 |
방법 | 이 방법은받는 사람을 포함하는 기능입니다 |