Go言語のソースコードを読んでいた時に関数の定義がわかりづらいのがあった。
どうやら構造体にメソッドを実装することが出来るっぽい。
func (レシーバ名 レシーバの型) 関数名(引数) (戻り値)
定義はこんな感じ。
// 構造体宣言 type User struct { name string } // メソッド定義 func (u User) call() string { return u.name + "さん" } // 実行 u := User {"foo"} fmt.Println(u.call())
ふむふむ。わかってきた。