Open4
Goでの学び

1.18~
マルチモジュールワークスペース
visual studio codeなどで、複数のgo.modが含まれるワークスペースを開いていても同時に編集可能にできる。
-
ワークスペースのルート配下にgo.workファイルを作成
-
管理したいgo.modのディレクトリパスをuse句で記述
go 1.18
use (
./hello
./example/hello
)
ジェネリクス
覚えている範囲で使ったことのある関数
- Map
- Filter
- FilterMap
- Every
- EveryBy
- Some
- SomeBy
- Uniq
- Find
- Must json.Marshalで使いがち

1.20
timeパッケージのフォーマット定数

1.21
slicesパッケージ
SortやContains関数を使える
log/slogパッケージ
レベル付きのログ出力が可能
手っ取り早くレベル付きロギングならこれもアリ
パフォーマンスはzerologが圧倒的

1.22
2月6日リリース
for i := range 10
forで宣言したiをループ毎に上書きせず生成する
for内のゴルーチンが別々の変数を参照できるようになる