go funcの使い分け
Goは色々と今までの言語と異なり、慣れるのに一苦労なんじゃないか?と思いつつも、コンセプトは結構好き。 そんな言語だけど、こういう初歩的なところで悩むことが多い。
go func
さぁ、どっちがいいのか?
無名関数として実行している。
i := 3
var result int
func() ()
goroutineとして実行している。
i := 3
c := make(chan int)
var result int
go func() ()
<-c
どっちがいいというか、こういう書き方ができるというサンプルであって、
- 処理を明示したいなら前者
- そっちの処理をさせつつ、そのまま別の処理もしたい場合は後者
って使い分けなのかなぁ?と思っている。
前者はこうすべきなのでは?と思ったり。
i := 3
result := func() (result int) ()
まとめ
こういう作法とか使い分けを知りたい。