A Tour of Go vol.2
types
論理値型(ゼロ値:false)
・bool
文字列型(ゼロ値:"")
・string
数値型(ゼロ値:0)
・unit
・uint8 符号なし 8-ビット 整数 (0 to 255)
・uint16 符号なし 16-ビット 整数 (0 to 65535)
・uint32 符号なし 32-ビット 整数 (0 to 4294967295)
・uint64 符号なし 64-ビット 整数 (0 to 18446744073709551615)
・int
・int8 符号あり 8-ビット 整数 (-128 to 127)
・int16 符号あり 16-ビット 整数 (-32768 to 32767)
・int32 符号あり 32-ビット 整数 (-2147483648 to 2147483647)
・int64 符号あり 64-ビット 整数 (-9223372036854775808 to 9223372036854775807)
・float32 IEEE-754 32-ビット 浮動小数値
・float64 IEEE-754 64-ビット 浮動小数値
・complex64 float32の実数部と虚数部を持つ複素数
・complex128 float64の実数部と虚数部を持つ複素数
・byte uint8の別名(エイリアス)
・rune int32の別名(エイリアス)
使い分け方は記事によってはuintを使えと書かれていたり、整数は基本intだ!などバラバラです。
自社のコードでは整数ではInt64, 浮動小数ではflat64を使っていたのであわせます。
Type conversions
型変換を行う際は新しい変数を用意し、その変数に変換する先の型を宣言する。
var x, y int = 3, 4 var f float64 = math.Sqrt(float64(x*x + y*y)) var z uint = uint(f)
int -> float64 -> uint
goでは型を明示しない場合は型推論が行われる。
Constants
constは":="を使った宣言はできない。