【京都】Gopher道場 2025 第02回 パブリックビューイング
ワイガヤするぞ!
luccafort.iconまだ基本構文なんだよなぁw
luccafort.icon var () が実行できるのはどういう理屈なんだろう。var は予約語だけど () は何を表しているんだ。式としてコンパイラに解釈されているのか?
yebis0942.iconこういう文法を許しているのは珍しい気がする…。
code:rs
fn main() {
let () = ();
}
Rustではこういうコードが合法らしい。
へー。Rust だと可能なんだ。これ解釈としてはどうなってるんだ……? :thinking:
Goはグルーピングの () だよとtenntennさんからメンションが来ていた。
luccafort.icon関数と変数は順不同。importは順番どおりに実行されるので注意。
luccafort.iconそもそも式ってどうやって文と分けて認識されているんだろう?変数は予約語以降の文字列とパターンで類推可能なんだろうけど。
luccafort.icon識別子は覚えておいてほしい。関数定数などの名前をつけれるものの名前の総称。難しいな。func Hogeって書いたら識別子はHogeがそれに当たるって感じなのかな。
luccafort.icon文法上の話なので↑は関係なかった。関数名とか変数名をまとめたものを識別子というっぽい。
luccafort.icon他の言語で学んだ概念をとっかかりにして理解を深めるのはいいけど、誤解したまま突き進んではいけない……それはそう。
luccafort.icon右辺がintだからInt型になるわけではない。UntypedInteger?聞き取れなかった。
luccafort.iconvarを省略できるのは関数内のみ。意識したことはなかったけど言われてみるとそうだな。
luccafort.icon型キャストしなくていいのは確かに楽だよな〜。C/C++とかだとAとBの比較や計算をしたいのにそのためだけに型キャストして〜みたいなのが面倒だった覚えがある。
luccafort.icon右辺の省略、どういうユースケースで欲しくなるんだろう?Goが求める愚直さに反するきがするんだけど……。
yebis0942.icon iotaの値はConstSpecのインデックスだったのか…
luccafort.iconそれな。あれ iota ごとにインクリメントされているのだと思ってた。ConstSpec のインデックスの値だったんですねぇ。インデックスだぞ!と言われると全てに納得がいった。
luccafort.icon