golang には名前付き引数がない
func main() {
MyFunc(MyFuncOpts{
X: "x",
Y: "y",
})
}
type MyFuncOpts struct {
X string
Y string
}
func MyFunc(opts MyFuncOpts) {
return
}
- 型に付随する関数
- 関数と違いレシーバが追加される
- 例で言う 『(p Person)』
- レシーバを書くことで型と結びつけられる
func main() {
p := Person{"John", 42}
p.Greet()
}
type Person struct {
Name string
Age int
}
func (p Person) Greet() {
println("Hello", p.Name)
}