Go 언어 기능
함수는 작업을 수행하는 기본 코드 블록입니다.
Go 언어에는 최소한 main() 기능이 있습니다.
기능을 통해 서로 다른 기능을 나눌 수 있습니다. 논리적으로 각 기능은 지정된 작업을 수행합니다.
함수 선언은 컴파일러에게 함수의 이름, 반환 유형, 매개변수를 알려줍니다.
Go 언어 표준 라이브러리는 사용할 수 있는 다양한 기능을 내장하고 있습니다. 예를 들어, len() 함수는 다양한 유형의 인수를 허용하고 해당 유형의 길이를 반환할 수 있습니다. 문자열을 전달하면 문자열의 길이가 반환되고, 숫자를 전달하면 배열에 포함된 함수의 개수가 반환됩니다.
함수 정의
Go 언어 함수 정의 형식은 다음과 같습니다.
func function_name( [parameter list] ) [return_types] { 函数体 }
함수 정의 분석:
func : func
function_name으로 시작하는 함수 선언: 함수 이름, 함수 이름 및 매개변수 목록이 함께 함수 서명을 구성합니다.
매개변수 목록]: 매개변수 목록, 매개변수는 자리 표시자와 같습니다. 함수가 호출되면 값을 매개변수에 전달할 수 있으며, 이 값을 실제 매개변수라고 합니다. 매개변수 목록은 매개변수 유형, 순서 및 매개변수 수를 지정합니다. 매개변수는 선택사항입니다. 즉, 함수에 매개변수가 포함될 수도 없습니다.
return_types: 반환 유형, 함수는 값 목록을 반환합니다. return_types는 열 값의 데이터 유형입니다. 일부 함수에는 반환 값이 필요하지 않으며, 이 경우 return_types가 필요하지 않습니다.
함수 본문: 함수 정의를 위한 코드 모음입니다.
예제
다음 예는 max() 함수의 코드입니다. 이 함수는 두 개의 정수 매개변수 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 }
위의 예에서는 main() 함수에서 max() 함수를 호출하고 실행 결과:
最大值是 : 200
함수는 여러 값을 반환합니다
Go 함수는 여러 값을 반환할 수 있습니다. 예:
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
함수 매개변수함수가 매개변수를 사용하는 경우 변수는 함수의 형식 매개변수라고 할 수 있습니다. 형식 매개변수는 함수 본문 내에 정의된 지역 변수와 같습니다. 함수를 호출할 때 매개변수는 두 가지 방법으로 전달될 수 있습니다.
기본적으로 Go 언어는 값 전달을 사용합니다. 즉, 실제 매개변수는 호출 중에 영향을 받지 않습니다.
기능 사용법
函数用法 | 描述 |
---|---|
函数作为值 | 函数定义后可作为值来使用 |
闭包 | 闭包是匿名函数,可在动态编程中使用 |
方法 | 方法就是一个包含了接受者的函数 |