func main() { f := func(i int) uint8 { return uint8((1 << i) % 10) } fmt.Println("f(5) =", f(5)) //=> f(5) = 2 } $2^n$ を 10で割った余りを uint8 で返すという普通の関数。 2の5乗 は 32 なので、 f(5) は 2 になる。順当。 思いがけなかった例 上記の関数 f に 10 を入れると
![go のわかりにくい型推論 - Qiita](https://cdn-ak-scissors.b.st-hatena.com/image/square/d801d5d7079d70e087cc4d2f4aa109a4c05ddc8d/height=288;version=1;width=512/https%3A%2F%2Fqiita-user-contents.imgix.net%2Fhttps%253A%252F%252Fcdn.qiita.com%252Fassets%252Fpublic%252Farticle-ogp-background-9f5428127621718a910c8b63951390ad.png%3Fixlib%3Drb-4.0.0%26w%3D1200%26mark64%3DaHR0cHM6Ly9xaWl0YS11c2VyLWNvbnRlbnRzLmltZ2l4Lm5ldC9-dGV4dD9peGxpYj1yYi00LjAuMCZ3PTkxNiZoPTMzNiZ0eHQ9Z28lMjAlRTMlODElQUUlRTMlODIlOEYlRTMlODElOEIlRTMlODIlOEElRTMlODElQUIlRTMlODElOEYlRTMlODElODQlRTUlOUUlOEIlRTYlOEUlQTglRTglQUIlOTYmdHh0LWNvbG9yPSUyMzIxMjEyMSZ0eHQtZm9udD1IaXJhZ2lubyUyMFNhbnMlMjBXNiZ0eHQtc2l6ZT01NiZ0eHQtY2xpcD1lbGxpcHNpcyZ0eHQtYWxpZ249bGVmdCUyQ3RvcCZzPTJiNTY0N2M2MjBhZDI3OWM1NTE5ZDQ3N2RjODA2OWE5%26mark-x%3D142%26mark-y%3D112%26blend64%3DaHR0cHM6Ly9xaWl0YS11c2VyLWNvbnRlbnRzLmltZ2l4Lm5ldC9-dGV4dD9peGxpYj1yYi00LjAuMCZ3PTcxNiZ0eHQ9JTQwTmFiZXRhbmkmdHh0LWNvbG9yPSUyMzIxMjEyMSZ0eHQtZm9udD1IaXJhZ2lubyUyMFNhbnMlMjBXNiZ0eHQtc2l6ZT0zMiZ0eHQtYWxpZ249bGVmdCUyQ3RvcCZzPTBkYjUwMWJiZTU2ZTAxOGQyYjFjZGJkNjk2YWRkMjQw%26blend-x%3D142%26blend-y%3D491%26blend-mode%3Dnormal%26s%3D7a1ddfba723f1d26939f9c512f3c746b)
これは何? Zig を学ぼうと 公式文書 (0.91時点) を読んでいるんだけど、読みながら思ったことを記していく。 続編は Zig の文書読んで所感を記す #2 へ。 その前に Zig への言及が最近多いなぁ、でもシンプルな言語だって言うしまあどうでもいいかなぁ、ぐらいの気持ちでいたんだけど、ZigはCMakeの代替となるか を読んで、俄然興味が湧いてきて、じゃあ読んでみるか、と思った。 数値 i32 とか u16 のような名前で型が提供されている。 整数は 128bit まである。そればかりか、 3bit とか 53bit のような中途半端な幅の整数も使える模様。面白い。 さらに。何に使うのかわかってないけど、 i0 u0 のようなゼロビットの整数もある。 ちなみに0ビット整数には 0 が代入できる。 u1 は、 0 または 1。 i1 は、 0 または -1 が代入可能。 浮動小数点
リリース、障害情報などのサービスのお知らせ
最新の人気エントリーの配信
処理を実行中です
j次のブックマーク
k前のブックマーク
lあとで読む
eコメント一覧を開く
oページを開く