익명 함수 및 클로저: 익명 함수는 특정 작업을 수행하기 위해 즉석에서 생성되는 이름 없는 함수입니다. 클로저는 익명 함수 내의 외부 변수에 대한 액세스를 허용하는 변수입니다. Go에서는 func() 구문을 사용하여 선언됩니다. 익명 함수 및 클로저를 사용하여 인수를 전달하고, 변수에 저장하거나, 실제로 슬라이스 및 이벤트 처리를 주문할 수 있습니다.
Go의 익명 함수 및 클로저
소개
익명 함수는 명시적으로 이름이 지정되지 않으며 표현식으로 사용할 수 있는 Go의 함수입니다. 클로저는 함수가 반환된 후에도 지속되는 외부 변수에 대한 참조를 포함하는 익명 함수입니다.
익명 함수
func()
구문을 사용하여 익명 함수를 선언합니다.
func() { fmt.Println("这是一个匿名函数") }
익명 함수는 다른 함수에 인수로 전달되거나 변수에 저장될 수 있습니다.
func callAnon(anon func()) { anon() } var anonFunc = func() { fmt.Println("这是一个存储在变量中的匿名函数") }
클로저
클로저는 익명 함수 액세스를 허용합니다. 범위. 이러한 변수를 클로저 변수라고 합니다.
var x = 10 anon := func() { fmt.Println(x) // 访问闭包变量 } anon() // 输出:10
실용 사례
type Employee struct { Name string Age int } func SortEmployeesByAge(employees []Employee) { sort.Slice(employees, func(i, j int) bool { return employees[i].Age < employees[j].Age }) }
type Button struct { onClick func() } func (b *Button) AddClickListener(f func()) { b.onClick = f }
오픈 소스 프로젝트 및 리소스
위 내용은 golang 익명 함수 및 클로저를 위한 오픈 소스 프로젝트 및 리소스 공유의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!