Skip to content

golang tips

foolmacky edited this page Jun 22, 2021 · 10 revisions

■interface{}について

  • interface{}は実体は型情報と、データの実体or実体へのポインタの2つの値しか持っていない
  • 値が入るのか、ポインタが入るのかは、実体データの型によって異なる
    intならデータが入る。structは実体へのポインタが格納される
    なので、deep copyしてもあまり気にしなくても大丈夫
  • 値を更新したときにどうなるのかは、

■expert GO

https://www.slideshare.net/takuyaueda967/go-77689475

■go modulesの周辺

正規バージョンではなく、特定のコミットを使いたい場合の指定について

  • 特定のコミット指定をgo.modに記入するのは面倒くさい。その場合はgo getでコミットhashタグを指定して取得するとgo.modを自動で更新してくれる
go get \<リポジトリ\>@\<hashタグ\>
  • versionタグを付与していないパッケージの場合 go.modの記載ver.は通常v0.0.0-TIMESTAMP-hashだが、途中までver.タグが付与されていると必ずしもそうではない。go getしてgoに書き換えてもらうのが良い。

Clone this wiki locally