基本型

基本型は、単一の値を表現する型です。

真理値(bool)

真理値を扱うbool型は、truefalseで表現します。

使い道としては、『処理の成否』や『データの有無』など二択の状態を表す場面が挙げられます。

//事前に宣言された定数
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 // ""