基本型
基本型は、単一の値を表現する型です。
真理値(bool)
真理値を扱うbool
型は、true
かfalse
で表現します。
使い道としては、『処理の成否』や『データの有無』など二択の状態を表す場面が挙げられます。
//事前に宣言された定数
true // 真
false // 偽
数値(int/float64/complex128)
数値を扱うint
型は、整数を表現します。
9 // 10進数
1_000 // アンダースコアで区切れる
0b10 // 2進数
07 // 8進数
0o7 // 8進数
0xff // 16進数
数値を扱うfloat64
型は、浮動小数点を表現します。
// 指数なし
1.2
1. // 1.0と同じ
.1 // 0.1と同じ
// 指数付き
1.2e3
1.2E3
1.2e+3
1.2e-3
数値を扱うcomplex128
型は、複素数を表現します。
// 虚数にはiを付ける
0 + 1i
数値型は他にもいくつか存在しますが、多くの場合は上記を押さえておけば問題ありません。詳細は型のページを参照してください。
バイト(byte)
1バイトのデータを扱うbyte
型は、数値やシングルクォートで括った文字をbyte
型に型変換(byte()
)して表現します。
byte('a') // aという文字は1バイトで表現される
byte(97) // aは数値で97と表現される
文字(rune)
文字を扱うrune
型は、文字をシングルクォートで括って表現します。
バックスラッシュで始まる複数文字は、エスケープといって特別な値を表します。
厳密に言うと、rune
型はUnicodeのコードポイントを表します。
'a'
'\t' // エスケープで特別な値を表す(\tはタブ文字を表す)
文字列(string)
文字列を扱うstring
型は、文字列をダブルクォートで括って表現します。
バックスラッシュで始まる複数文字は、エスケープといって特別な値を表します。
"ab"
"\n" // エスケープで特別な値を表す(\nは改行を表す)
"" // 空の文字列
エスケープを無視して文字通り表現したり、改行をそのまま改行として表現するために、RAW文字列があります。 RAW文字列は文字列をバッククォートで括って表現します。
// エスケープを解釈しない
// 改行を含むことができる
`
abc
\n"'
`
ゼロ値
変数が代入される前の値をゼロ値と呼びます。
型ごとのゼロ値は次の通りです。
型 | ゼロ値 |
---|---|
真理値 | false |
数値 | 0 |
文字列 | "" |
var b bool // false
var i int // 0
var s string // ""