Goの組み込み型
int、float64、string、boolとそれぞれのゼロ値
「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など、すべての数値型 →0float64→0.0string→""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~127uint8:0~255int16:-32768~32767int32:およそ±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フィードバックを取得できます。ローカル設定は不要です。
このコースのすべてのレッスン
- Goで変数を宣言する
- Goの組み込み型
- 定数とiota
- Goの型変換