익명 함수: 익명 함수는 이름이 없는 함수이며 일회성 함수나 콜백을 만드는 데 사용됩니다. 클로저: 클로저에는 외부 변수에 액세스하고 수정할 수 있는 익명 함수와 외부 변수 참조가 포함되어 있습니다.
Go 언어의 익명 함수 및 클로저
익명 함수란 무엇인가요?
익명 함수는 이름이 없는 함수로, 일반적으로 일회용 함수나 콜백을 만드는 데 사용됩니다.
익명 함수 구문 선언:
func(参数列表)(返回值列表) { 函数体 }
예:
숫자 목록 제곱하기:
numbers := []int{1, 2, 3, 4, 5} result := map(func(n int) int { return n * n }, numbers)
클로저란 무엇인가요?
클로저는 익명 함수와 외부 변수 참조를 포함하는 함수 값입니다. 이는 클로저가 외부 변수에 액세스하고 수정할 수 있음을 의미합니다.
클로저 구문 만들기:
func(参数列表)(返回值列表) { // 内部定义的变量 变量名 := 值 return func(闭包参数列表)(闭包返回值列表) { // 可以访问和修改内部变量 } }
예:
페이지당 지정된 횟수만큼 반복되는 단어를 반환하는 함수 만들기:
package main import "fmt" func makeRepeated(s string, n int) func() string { i := 0 return func() string { i++ return fmt.Sprintf("%s%d", s, i) } } func main() { repeat := makeRepeated("a", 5) fmt.Println(repeat()) fmt.Println(repeat()) }
출력:
a1 a2
위 내용은 golang 익명 함수 및 클로저에 대한 코드 예제 및 모범 사례 분석의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!