Encraft #10 Go1.22+ Enablement Lesson
2024年1月30日(火)に東京+オンラインで開催された「Encraft #10 Go1.22+ Enablement Lesson」のトゥぎゃりです。
Encraft #10 Go1.22+ Enablement Lesson - connpass
https://knowledgework.connpass.com/event/305182/
さき(H.Saki)
@saki_engineer
go.modで指定されているバージョンがgo1.22以上の場合のみforのループ変数の挙動が変わるのすごい。破壊的変更だけど気軽にマイナーバージョンアップデートできるように工夫されてるのほんとありがたい。 #encraft
2024-01-30 19:31:40
じょん
@johnmanjiro13
全部で変数を作っているわけじゃない ポインタを取った時やクロージャから参照した時だけ新しく変数が作られるから基本的には大丈夫 なるほど〜〜すごい #encraft twitter.com/johnmanjiro13/…
2024-01-30 19:34:58
のびしー
@shino_nobishii
#encraft さっきのGo1.21だとバグるようなループを書いたような時とかアドレスprintしたときだけ別変数にしてるってことか
2024-01-30 19:35:32
candy
@candy__dev
コンパイラが、loop varがポインタ参照されるときとクロージャのときだけ新しくメモリを確保してるの頭良い #encraft
2024-01-30 19:36:05
さき(H.Saki)
@saki_engineer
Release Noteの中だと > The transition support tooling described in the proposal continues to work in the same way it did in Go 1.21. の文がこの挙動を明示的に宣言したものかな?ソースを明確に把握しておきたい tip.golang.org/doc/go1.22 #encraft
2024-01-30 19:37:42
takak
@takak2166
go1.22のfor文のiterationの変更、必要な時だけ新しく変数作るようにすることでパフォーマンスに影響出ないようにしててえらい #encraft
2024-01-30 19:37:59
はいばら
@w_haibara
#encraft twitter.com/w_haibara/stat…
2024-01-30 19:40:19
はいばら
@w_haibara
あっ、git bisectだと思ったら、Goのコマンドで `bisect` というのがあるんですね pkg.go.dev/golang.org/x/t…
2024-01-30 19:37:55