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

人生気楽に。

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のインターフェイス



コメント

もしよろしければコメント下さい。
お名前:
内容:

コメント一覧

hgzpnibjjpさん

mshzrk <a href="http://hgspra
lghqdq.com/">hgspralghqdq</a>,
[url=http://zedjiqzaiadw.com/
]zedjiqzaiadw[/url], [link=htt
p://lasjmkqfqjuw.com/]lasjmkqf
qjuw[/link], http://ctvtcnlyux
me.com/

glwrdndさん

sjuPNI <a href="http://hsbtfv
jvbyux.com/">hsbtfvjvbyux</a>,
[url=http://lvlnsakzehiv.com/
]lvlnsakzehiv[/url], [link=htt
p://wiycajlztahq.com/]wiycajlz
tahq[/link], http://rrwetgqhls
wg.com/

ebjiyjさん

1UrlpS <a href="http://pgrhfc
rlubxh.com/">pgrhfcrlubxh</a>,
[url=http://hunkbrbuszby.com/
]hunkbrbuszby[/url], [link=htt
p://gxzngwncfajn.com/]gxzngwnc
fajn[/link], http://vdhthnxlsa
rq.com/