go言語の無名関数とはその名の通り定義する名前がない関数の事です。
どのように動くかを解説します。
【どのようなものか?】
func(引数1, 引数2, …) 戻り値の型1, 戻り値の型2, … {
関数の本体
}
書き方自体はとてもシンプルです。
関数に直接変数を入れられます。
メリットとしては一度しか使わない関数なら名前を考える手間がなくなり、かつややこしさがなくなりエラーの原因にならない事です。
【具体例】
①
package main
import "fmt"
func main() {
hello := func(greeting string) {
fmt.Println(greeting)
}
hello("Good morning")
}
Good morning
②
package main
import "fmt"
func main() {
func(greeting string) {
fmt.Println(greeting)
}("Good evening")
}
Good evening
【解説】
①はhelloにhello("Good morning")を入れます。
それを戻り値greetingに入れGood morningと表示されます。
②は違うパターンで書いてます。
引数なしでGood eveningを書いて戻り値greetingでGood eveningと標準します。
取材やお仕事紹介などはこちらからお気軽にご連絡下さい。
ysa7825@gmail.com