巨人の足元でたじlog

そうして言葉を軽んじるから――― 君は私の言葉を聞き逃す

Go言語初心者がハマるGo言語の細かい文法などの気付き

随時更新

goではintの計算結果は、intになる。

なので、

<int>10 / <int>100

の計算結果は、0になる。
切り捨てか切り上げか四捨五入かは、調べてない。
なので、予めfloat32とかにcastしておく必要がある。

qiita.com

ポインタは変数に入れないと使用できないケースがある

ポインタ型を渡したいときに

hoge := "hoge"  // string型の変数hogeに代入できます
fmt.Println(hoge)
p := &hoge // 変数hogeのポインタ(アドレス)を取得できます
fmt.Println(p) // 変数hogeのポインタ(アドレス)を表示できます
fmt.Println(*p)  // 変数hogeのポインタ(アドレス)の中に入っている値を表示できます
p2 := &"hoge" // これで値"hoge"が入っている値をセットしたいところですが、エラーになります。
fmt.Println(p2)

ポインタは、変数のアドレスを取得できるやつなので、一度変数に入れないとだめです。