やみとものプログラミング日記

TOP Go言語勉強記録その2

Go言語勉強記録その2

Go言語勉強記録その1

なぜGo言語(golang)はよい言語なのか・Goでプログラムを書くべき理由

TODO

gofmtについて書く

構造体

参考になるQiitaの記事 Goを学びたての人が誤解しがちなtypeと構造体について #golang

クラス

Goにクラスは無いが、型にメソッドを定義できるらしい。

type Pair struct {
  A, B int 
}

func (v Pair) Max() int {
  if v.A > v.B {
    return v.A 
  } else {
    return v.B 
  }
} 

funcの後の(v Pair)でPairという型にメソッドを定義することを表す。 vはレシーバ引数。

ポインタレシーバ

型にメソッドを定義するとき、レシーバのパラメータを変えたい場合は ポインタレシーバを使う必要がある。

type pair struct {
    a, b int    
}

func (p *pair) reset() {
    p.a = 0
    p.b = 0
}

func main() {
    p := pair{1, 3}
    p.reset()
    fmt.Println(p)
    // 出力は{0 0}
}

インターフェース

このサイトが分かりやすい。 Goのインターフェイス

コメント

もしよろしければコメント下さい。

ハンドルネーム:
内容:

コメント一覧

最新記事

ディープラーニング勉強記録
numpy勉強記録
pythonでMySQL使う