Go Academy · レッスン

Goの組み込み型

int、float64、string、boolとそれぞれのゼロ値

レッスン 2/413 ステップ

「Goの組み込み型」はCoddyKit上の無料Go Academyレッスンです。 これはレッスン2/4です。 下記で完全なレッスンを無料で読むことができます。その後、ブラウザ内の組み込みコードエディタと24時間対応のAIチューターでハンズオン演習できます。 これはGo Academy学習パスの一部であり、ウェブとCoddyKitアプリ全体で進捗が同期されます。 Go Academyコースには全4レッスンが含まれています。

Goの型システムの概要

Goには、カテゴリ別に整理された豊富な組み込み型があります。

  • ブール型:bool
  • 整数型:int、int8、int16、int32、int64および符号なしの型
  • 浮動小数点型:float32、float64
  • 文字列型:string
  • 複素数型:complex64、complex128

整数型

Goには、プラットフォーム依存の整数型と固定サイズの整数型があります。

  • int / uint — プラットフォームに応じたサイズ(32ビットまたは64ビット)
  • int8…int64 — ビット幅が固定された型
  • byte — uint8のエイリアス
  • rune — int32のエイリアスで、Unicodeコードポイントを表します

特定のビット幅が必要でない限り、汎用的な整数にはintを使用してください。

float64とfloat32

浮動小数点型はIEEE 754に準拠しています。

package main

func main() {
    var f32 float32 = 3.14
    var f64 float64 = 3.141592653589793
    ratio := f64 / 2.0  // float64 inferred
    _ = f32
    _ = ratio
}

string型

Goの文字列は、UTF-8でエンコードされた不変のバイト列です。

  • ダブルクォート:"Hello" — エスケープシーケンスを使用できます
  • バッククォート:`raw string` — エスケープ処理を行わず、複数行にまたがることができます
  • len(s)は文字数ではなくバイト数を返します
  • rangeで反復すると、runeとして文字を取得できます

bool型

bool型には、trueとfalseの2つの値があります。

  • ゼロ値はfalseです
  • 論理演算子:&&、||、!
  • 比較演算子はboolを返します:==、!=、<、>
  • Goでは、Cとは異なり、整数からboolへの暗黙的な変換は行われません

ゼロ値のまとめ

すべての型には明確に定義されたゼロ値があります。

  • intなど、すべての数値型 → 0
  • float64 → 0.0
  • string → ""
  • bool → false
  • *T、スライス、マップ、chan、func → nil

ゼロ値によってGoのコードは安全になります。未初期化のメモリを読み取ることはありません。

数値リテラル

Goは複数の形式の数値リテラルをサポートしています。

package main

func main() {
    dec  := 1_000_000   // digit separators
    hex  := 0xFF
    oct  := 0o777
    bin  := 0b1010
    sci  := 1.5e3       // 1500.0
    _ = dec; _ = hex; _ = oct; _ = bin; _ = sci
}

型のサイズと範囲

型のサイズを知っておくと、オーバーフローによるバグを防げます。

  • int8:-128~127
  • uint8:0~255
  • int16:-32768~32767
  • int32:およそ±21億
  • int64:およそ±922京

正確な上限値には、mathパッケージのmath.MaxInt64などの定数を使用してください。

runeとbyte

runeとbyteは、意味を明確にする型エイリアスです。

  • byte = uint8 — 生のバイナリデータやASCIIデータに使用します
  • rune = int32 — Unicodeコードポイントに使用します

文字列に対してrangeを使うと、Goはrune値を返します。絵文字のようなマルチバイトのUTF-8文字を扱うのに最適です。

適切な型の選び方

数値型を選ぶ際の指針は次のとおりです。

  • カウンターやインデックスには、基本的にintを使用します
  • 一般的な浮動小数点計算にはfloat64を使用します
  • ID、タイムスタンプ、大きなカウント値にはint64 / uint64を使用します
  • int32は、それを必要とするAPIと連携する場合にのみ使用します
  • グラフィックスや容量が制限されたデータを扱う場合を除き、float32は避けてください

クイックチェック

Goにおけるstring変数のゼロ値は何ですか。

復習:組み込み型

Goの組み込み型は、確かな基礎を提供します。

  • 整数型:int、int64、byte、rune
  • 浮動小数点型:float64を優先します
  • stringは不変のUTF-8バイト列です
  • boolはtrue/falseを使用します
  • すべての型にゼロ値があるため、予期しない状態がありません

次は、定数と強力な列挙子iotaについて学びます。

練習課題

試してみましょう。文字'A'を保持するrune変数と、65を保持するbyte変数を宣言してください。両方を出力すると、同じ数値になるはずです。次に、短い絵文字文字列に対してrangeを使い、rune値の動作を確認してみましょう。

無料で開始

AI チューターと学ぶ Go — 無料

ブラウザでリアルコードを書いて実行し、24/7 の AI チューターから瞬時にサポートを受け、ウェブまたはアプリで続きから学習できます。

コース
51
レッスン
203

よくある質問

「Goの組み込み型」レッスンは無料ですか?

はい。「Goの組み込み型」の完全なテキストはこのウェブで無料で読めます。インタラクティブに演習し(組み込みコードエディタと24時間対応のAIチューター)、Go Academyコースの残りをアンロックするには、CoddyKit PROにアップグレードしてください。 Go Academyコースには全4レッスンが含まれています。

「Goの組み込み型」で何を学びますか?

int、float64、string、boolとそれぞれのゼロ値 ブラウザで直接実行するハンズオンコードでGo Academyを演習し、24時間対応のAIチューターがレッスンを進める中での質問に答えます。

Go Academyを始めるのに経験は必要ですか?

事前経験は必要ありません。CoddyKitのGo Academyは初級者から上級者向けに構成されているため、ここから始めるか最初から始めて、自分のペースで進むことができます。 これはレッスン2/4です。

「Goの組み込み型」レッスンにはどのくらい時間がかかりますか?

ほとんどのCoddyKitレッスンは約5~10分かかります。各レッスンはコンパクトでインタラクティブなので、着実に進歩し、ウェブとアプリ全体で正確に前回の場所から再開できます。

このGo Academyレッスンでコードを書いて実行できますか?

はい。すべてのGo Academyレッスンに組み込みコードエディタが含まれているため、ブラウザでリアルコードを書いて実行し、即座のAIフィードバックを取得できます。ローカル設定は不要です。

このコースのすべてのレッスン

  1. Goで変数を宣言する
  2. Goの組み込み型
  3. 定数とiota
  4. Goの型変換
← Go Academyに戻る