golang 함수에 대한 익명 함수

王林
풀어 주다: 2024-04-20 12:27:02
원래의
649명이 탐색했습니다.

Go 언어 익명 함수를 사용하면 함수 이름을 선언하지 않고도 일회성 함수나 더 큰 함수의 일부를 만들 수 있습니다. 구문은 func() { // function body }로, 매개변수를 받아들이고 결과를 반환합니다. 실제 예로는 슬라이스 정렬(sort.Slice 함수 및 익명 함수를 통해 특정 속성별로 정렬) 및 데이터 필터링(필터 함수 및 익명 함수를 통해 홀수 필터링)이 포함됩니다.

golang 함수에 대한 익명 함수

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 중국어 웹사이트의 기타 관련 기사를 참조하세요!

관련 라벨:
원천:php.cn
본 웹사이트의 성명
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.
저자별 최신 기사
최신 이슈
최신 다운로드
더>
웹 효과
웹사이트 소스 코드
웹사이트 자료
프론트엔드 템플릿
회사 소개 부인 성명 Sitemap
PHP 중국어 웹사이트:공공복지 온라인 PHP 교육,PHP 학습자의 빠른 성장을 도와주세요!