English | 简体中文 | 繁體中文 | Русский язык | Français | Español | Português | Deutsch | 日本語 | 한국어 | Italiano | بالعربية
Go 언어는 익명 함수라는 특별한 함수를 제공합니다. 익명 함수는 이름이 없는 함수입니다. 내장 함수를 생성할 때 이 함수가 매우 유용합니다. Go 언어에서 익명 함수는 클로저를 형성할 수 있습니다. 익명 함수는 또한함수 문.
문법:
func(parameter_list) return_type { //코드 //return_type이 주어지면 return语句 사용 //return_type이 제공되지 않으면 //return语句 사용 return }()
package main import "fmt" func main() { //익명 함수 func() fmt.Println("환영! to oldtoolbag.com") }() }
출력:
환영! to oldtoolbag.com
중요 사항:
Go 언어에서 익명 함수를 변수에 할당할 수 있습니다. 함수를 변수에 할당할 때, 변수의 타입은 함수 타입이며, 다음 예제와 같이 변수를 함수처럼 호출할 수 있습니다.
package main import "fmt" func main() { // 익명 함수를 변수에 할당 value := func(){ fmt.Println("환영! to oldtoolbag.com") } value() }
출력:
환영! to oldtoolbag.com
익명 함수에서 매개변수를 전달할 수도 있습니다。
package main import "fmt" func main() { //익명 함수 매개변수 전달 func(ele string){ fmt.Println(ele) }("w3codebox") }
출력:
w3codebox
또한 익명 함수를 다른 함수에 매개변수로 전달할 수 있습니다。
package main import "fmt" //익명 함수를 매개변수로 전달 func GFG(i func(p, q string) string){ fmt.Println(i("Geeks", "for")) } func main() { value:= func(p, q string) string{ return p + q + "Geeks" } GFG(value) }
출력:
w3codebox
또한 다른 함수에서 익명 함수를 반환할 수 있습니다。
package main import "fmt" //익명 함수 반환 func GFG() func(i, j string) string{ myf := func(i, j string)string{ return i + j + "w3codebox" } return myf } func main() { value := GFG() fmt.Println(value("환영합니다", "to")) }
출력:
환영합니다 w3codebox