#2 Goで学ぶ変数とデータ型の基本

Goの変数の作り方には、書き方が2種類あるという特徴があります。この記事では、Goにおける変数の作り方と、代表的なデータ型について解説します。

varを使った書き方

1つ目は、varというキーワードを使う書き方です。

var age int = 20

変数名、型、値の順に書きます。型を省略して、値から自動的に判断させることもできます。

var age = 20

:=を使った書き方

2つ目は、:=という記号を使う、より簡潔な書き方です。

age := 20

varとは書かずに、いきなり変数名と値を:=でつなぎます。関数の中で手軽に変数を作りたいときによく使われる書き方です。

代表的なデータ型

Goの基本的なデータ型には、次のようなものがあります。

  • 整数(int)
  • 浮動小数点数(float64)
  • 文字列(string)
  • 真偽値(bool)

「ゼロ値」という考え方

Goには「ゼロ値」という独特の仕組みがあります。これは、変数を値なしで宣言した場合に、型に応じた初期値が自動的に入るというものです。例えば整数型なら0、文字列型なら空文字、真偽値型ならfalseが自動で入ります。

var count int
// countには自動的に0が入る

「変数が初期化されていない」という状態が存在しないため、意図しない不具合を防ぎやすくなっています。

複数の変数をまとめて宣言する

varを使うと、複数の変数をまとめて宣言することもできます。

var (
    name string = "太郎"
    age  int    = 20
)

関連する設定値などをまとめて宣言したい場合に、見た目がすっきりします。

定数を表すconst

値を変更されたくない場合はconstを使います。

const MaxScore = 100

varと違い、constで宣言した値はコンパイル時に決まっている必要があり、実行中に計算した結果を代入することはできません。

Goならではの注意点

Goでは、宣言したのに一度も使っていない変数があると、実行前の段階でエラーになります。他の言語ではただの警告で済むことが多いため、Goを学び始めた人が最初に戸惑いやすいポイントです。使わない変数はきちんと削除する癖をつけましょう。

iotaによる連番定数

Goにはiotaという、連続した定数を簡潔に定義できる仕組みもあります。

const (
    Sunday = iota // 0
    Monday        // 1
    Tuesday       // 2
)

曜日や状態のような、連番で管理したい定数を定義する際によく使われます。

まとめ

Goの変数はvarと:=という2つの書き方があり、関数の中では:=が好まれる傾向にあります。「ゼロ値」という仕組みと、未使用変数を許さない厳格さが、Goらしい特徴と言えるでしょう。


本ページはプロモーションを含みます。

参考書籍(PR)

Goをもっと学びたい方には「Go言語入門」がおすすめです。


PR

コードを書かずに自動化したい方へ

「学んだけど自分の作業に組み込む時間がない」という方向けに、ダブルクリックで動く Windows専用の自動化ツールをオーダーメイドで作成しています。気になる方は こちらをご覧ください。

コメント

このブログの人気の投稿

#25 Rustで学ぶAI API(ChatGPT等)の呼び出し方の基本

#8 C++で学ぶ文字列操作の基本

#16 TypeScriptで学ぶ辞書型(マップ)の基本