Go 言語のデータ型
Go は静的型付き言語
Go で変数を使う場合、はじめに型を宣言します。そして、一度宣言した変数は、その型のまま使います。
このことをひと言で言うと「Go は静的に型付けされている」とか「Go は静的型付き言語である」という言い方をします。
Go でよく使われる型
Go でよく使われる主なデータ型は次の表のような種類があります。
型 | 説明 | 例 |
---|---|---|
bool | 真偽型 true か false の値を取る。ゼロ値は false です。 | true |
int | 整数型。 環境によって 32ビットの int32 型または 64 ビットの int64 型 | 123 |
byte | バイト型。符号なし8ビット整数 uint8 の別名。 | 'a' |
float64 | 浮動小数点型。IEEE754 に準拠。 | 3.14159 |
string | 文字列型 | "Hello, world!" |
その他、このあとで説明するように、整数型などに細かく分類された型が定義されています。
Go の真偽型
Go では true (真) や false (偽) を表す型として、 bool 型が用意されています。
既定の値は false です。
Go の整数型
型 | 説明 | 別名 |
---|---|---|
int8 | 符号付き8ビット整数型 | |
int16 | 符号付き16ビット整数型 | |
int32 | 符号付き32ビット整数型 | int (32ビット環境) ルーン (rune) |
int64 | 符号付き64ビット整数型 | int (64ビット環境) |
uint8 | 符号なし8ビット整数型 | byte |
uint16 | 符号なし16ビット整数型 | |
uint32 | 符号なし32ビット整数型 | uint (32ビット環境) |
uint64 | 符号なし64ビット整数型 | uint (32ビット環境) |
int は int32 または int64 の別名です。 それぞれプラットフォームが 32ビットの場合は 32ビットの整数として、64ビットの場合は 64ビットの整数になります。
byte は uint8 の別名です。
ルーン (rune) は文字一文字を表す型ですが、これは int32 の別名です。
Go の浮動小数点型
Go の浮動小数点型には次の二種類があります。
型 | 説明 | |
---|---|---|
float32 | 32ビット浮動小数点型 | |
float64 | 64ビット浮動小数点型 |
浮動小数点の数値の既定の型は float64 です。
Go の文字列型
Go で文字列を表す型として string 型が用意されています。
文字列リテラルは二重引用符 " で囲って宣言します。例えば "Hello, world" のように二重引用符で囲います。
もし文字列の途中で二重引用符"を使いたい場合、 文字列の区切りと区別するために \" のようにバックスラッシュを付けます。
package main
import (
"fmt"
)
func main() {
var s string = "Hello, world!"
var s2 string = "Hello \"world\"!"
fmt.Println(s) // Hello, world!
fmt.Println(s2) // Hello "world"!
}
この例ではふたつ目に宣言した変数 s2 で、文字列中の二重引用符にバックスラッシュを付けています。
このプログラムでは string 型の変数を使いました。こうした変数の使い方については、次の「Go 言語の変数」で説明します。