Go 언어 익명 함수를 사용하면 함수 이름을 선언하지 않고도 일회성 함수나 더 큰 함수의 일부를 만들 수 있습니다. 구문은 func() { // function body }로, 매개변수를 받아들이고 결과를 반환합니다. 실제 예로는 슬라이스 정렬(sort.Slice 함수 및 익명 함수를 통해 특정 속성별로 정렬) 및 데이터 필터링(필터 함수 및 익명 함수를 통해 홀수 필터링)이 포함됩니다.
Go 언어의 익명 함수
익명 함수는 함수 이름을 선언할 필요가 없는 Go 언어의 함수입니다. 일회용 기능을 빠르게 생성하거나 더 큰 기능의 일부로 사용되는 경우가 많습니다.
Syntax
func() { // 函数体 }
익명 함수는 일반 함수와 마찬가지로 매개변수를 허용하고 결과를 반환할 수 있습니다.
func(x int) int { return x * x }
실용 예제
슬라이스 정렬
sort.Slice
함수에서 익명 함수를 사용하여 정렬을 기반으로 슬라이스를 정렬할 수 있습니다. 요소의 특정 속성별:
package main import ( "fmt" "sort" ) type Person struct { Name string Age int } func main() { people := []Person{ {"John", 25}, {"Mary", 30}, {"Bob", 20}, } // 根据 age 排序 sort.Slice(people, func(i, j int) bool { return people[i].Age < people[j].Age }) fmt.Println(people) }
데이터 필터링
익명 함수를 사용하여 데이터를 필터링할 수도 있습니다.
package main import "fmt" func main() { nums := []int{1, 2, 3, 4, 5, 6, 7, 8, 9, 10} // 过滤奇数 oddNums := filter(nums, func(x int) bool { return x % 2 != 0 }) fmt.Println(oddNums) } func filter(arr []int, f func(int) bool) []int { result := []int{} for _, v := range arr { if f(v) { result = append(result, v) } } return result }
위 내용은 golang 함수에 대한 익명 함수의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!