Go言語初心者がハマるGo言語の細かい文法などの気付き
随時更新
goではintの計算結果は、intになる。
なので、
<int>10 / <int>100
の計算結果は、0になる。
切り捨てか切り上げか四捨五入かは、調べてない。
なので、予めfloat32
とかにcastしておく必要がある。
ポインタは変数に入れないと使用できないケースがある
ポインタ型を渡したいときに
hoge := "hoge" // string型の変数hogeに代入できます fmt.Println(hoge) p := &hoge // 変数hogeのポインタ(アドレス)を取得できます fmt.Println(p) // 変数hogeのポインタ(アドレス)を表示できます fmt.Println(*p) // 変数hogeのポインタ(アドレス)の中に入っている値を表示できます p2 := &"hoge" // これで値"hoge"が入っている値をセットしたいところですが、エラーになります。 fmt.Println(p2)
ポインタは、変数のアドレスを取得できるやつなので、一度変数に入れないとだめです。