基本的なデータ型

Go(Golang)の基本的なデータ型について、以下に詳しく説明します。Goは静的型付けの言語であり、すべての変数はコンパイル時にその型が決定されます。基本的なデータ型は、主に数値、文字列、ブール値などに分類されます。


1. 数値型(Numeric Types)

Goでは数値型は以下のように細分されます。

1.1 整数型(Integers)

整数型は符号ありと符号なしの2種類があります。

  • 符号あり整数(signed)

    • int8: -128 ~ 127

    • int16: -32,768 ~ 32,767

    • int32: -2,147,483,648 ~ 2,147,483,647

    • int64: -9,223,372,036,854,775,808 ~ 9,223,372,036,854,775,807

    • int: 環境依存(32ビット or 64ビット)

  • 符号なし整数(unsigned)

    • uint8: 0 ~ 255(=byte)

    • uint16: 0 ~ 65,535

    • uint32: 0 ~ 4,294,967,295

    • uint64: 0 ~ 18,446,744,073,709,551,615

    • uint: 環境依存(32ビット or 64ビット)

1.2 浮動小数点数型(Floating-point numbers)

  • float32: 単精度浮動小数点数

  • float64: 倍精度浮動小数点数(デフォルト)

1.3 複素数(Complex numbers)

  • complex64: float32 を2つ使った複素数

  • complex128: float64 を2つ使った複素数


2. ブール型(Boolean)

  • 型名:bool

  • 値:true または false

  • 比較演算や論理演算の結果として使用される。

go
var isActive bool = true

3. 文字型(Rune)

  • 型名:rune

  • 実体は int32 型で、Unicodeコードポイントを表す。

  • Goではchar型は存在せず、文字を扱う場合はrune型を使う。

go
var ch rune = 'あ'

4. 文字列型(String)

  • 型名:string

  • UTF-8でエンコードされたイミュータブル(変更不可)な文字列を表す。

  • 文字列は"(ダブルクォート)で囲む。

go
var name string = "Go言語"

5. 型推論と短縮宣言

Goでは型を明示せずに値から推論させることも可能です。

go
x := 10 // int型と推論される y := 3.14 // float64型と推論される s := "text" // string型と推論される

6. ゼロ値(Zero Value)

Goでは変数を初期化しない場合、自動的にゼロ値が代入されます。

ゼロ値
数値 0
ブール型 false
文字列 空文字列 ""
ポインタ nil

まとめ

Goの基本データ型は以下のように分類されます:

  • 数値型:int, float64, complex128など

  • ブール型:bool

  • 文字型:rune

  • 文字列型:string

これらはGoのプログラムを書く上で最も基礎となる要素であり、各型の特性を理解することは安全で効率的なコードを書くために不可欠です。

生成日:2025/05/03