寝ても覚めてもこんぴうた

プログラム書いたり、ネットワーク設計したり、サーバ構築したり、車いじったり、ゲームしたり。そんなひとにわたしはなりたい。 投げ銭は kyash_id : chidakiyo マデ

Golangでは構造体にメソッドを生やせる。

Go言語のソースコードを読んでいた時に関数の定義がわかりづらいのがあった。

どうやら構造体にメソッドを実装することが出来るっぽい。

func (レシーバ名  レシーバの型) 関数名(引数) (戻り値)

定義はこんな感じ。

// 構造体宣言
type User struct {
  name string
}

// メソッド定義
func (u User) call() string {
 return u.name + "さん"
} 

// 実行
u := User {"foo"}
fmt.Println(u.call())

ふむふむ。わかってきた。