Effective Go 備忘録
Effective Go
Effective Goに記載されている中でも特に気になったものだけをまとめる
フォーマッティング
- フォーマットを行うことでソースコードの可読性が上がるが、チームや会社ごとに異なる
- Goでは標準で自動フォーマットを行なってくれるため、Goを利用いている人たちの共通認識でフォーマットされ似たようなコードになる
命名
- パッケージ名はあくまでデフォルト名であり、エイリアスで名前衝突を防げるため、1単語で定義することが望ましい(例:string conversion -> strconv)
- 別名をつけることができるため、他のパッケージ名と名前が被っても良い
- 1メソッドのインターフェースは、メソッド名に-erサフィックスを加えた名前を持つ
- キャメルケースを利用する
import ( "bytes" repository "github.com/devlights/domain/repository" repositoryImpl "github.com/devlights/infra/repository" ) func main() { bytes.NewBufferString("string") }
ゲッター・セッター
- ゲッター:Name()
- セッター:SetName()