はじめに
こんにちは。キノコードです。
「【5分レッスン】Go超入門コース#06 変数」について説明します。
変数とは?
まず、変数について説明します。
変数は例えるなら箱のことです。
変数があることで、文字や数字などのデータを変数に入れておくことができます
また、変数を必要な時に取り出すことができます。
変数にデータを入れることを「代入」といい、取り出すことを「参照」といいます。
変数には名前をつけることができ、変数名といいます。
変数を作ることを「変数を宣言する」といいます。
初めて変数にデータを入れることを「変数の初期化」といいます。
変数の宣言
実際にGoのプログラムで変数を宣言してみましょう。
var num int
num = 1
fmt.Println(num)
ここのコードでは、整数などの値を代入するnumという変数を宣言しています。
変数を宣言するときは、まずvarと書きます。
varの次に変数名を記述。
変数名のあとに、変数に代入するデータの種類を記述します。
次のレッスンで説明しますが、このデータの種類のことを「データ型」といいます。
ここでは、1という値を代入するので、値型の「int型」を使います。
変数の宣言はこれで終わりです。
変数numに1という整数を代入してみましょう。
変数へ代入するときは、イコールを使います。
これで変数に1を代入することができます。
変数に1が代入されているか、変数を表示させてみましょう。
前のレッスンでも使いましたが、文字列や変数の中を参照するには、Println(プリントライン)関数を使います。
前のレッスンではダブルクォテーションで文字列を囲いましたが、今回は変数の中を表示したいので、変数をそのまま記述します。
実行してみましょう。
「1」という整数が表示されました。
numに「1」が代入されていることがわかります。
var num = 1
fmt.Println(num)
変数の宣言と同時に代入することもできます。
また、データ型は省略することもできます。
Goが自動的にデータ型を判断してくれるからです。
numのあとにいきなり代入をします。
実行してみましょう。
「1」が表示されました
num := 1
fmt.Println(num)
変数の宣言と同時に代入する際は、さらにシンプルに書くことができます。
変数名、コロン、イコール、代入したい値です。
実行してみましょう。
「1」が表示されました。
このコロンイコールの書き方が、Goでよく使われる変数の宣言方法です。覚えておきましょう。
Goの変数名のルール
num := 1
num01 := 2
num_01 := 3
fmt.Println(num)
fmt.Println(num01)
fmt.Println(num_01)
変数名に使える文字には、ルールがあります。
変数名には、アルファベット、数字、アンダースコア( _ )が使えます。
ルールに従い、変数名がつけられるか、あるいは、エラーになるか試してみましょう。
numのあとに01の数字をつける変数を作ってみます。この変数には2を代入します。
numのあとにアンダースコア、そのあとに01の数字をつけてみましょう。この変数には3を代入します。
それぞれの変数を表示してみましょう。
エラーにならずに、「1、2、3」が表示されました。
num := 1
num01 := 2
num_01 := 3
num$01 := 4
num-01 := 5
01num := 6
fmt.Println(num)
fmt.Println(num01)
fmt.Println(num_01)
fmt.Println(num$01)
fmt.Println(num-01)
fmt.Println(01num)
変数名は、数字から始めることができません。また、アンダースコア以外に記号を使うことができません。
numのあとにドルマーク、そのあとに01の数字をつけてみましょう。
赤い波線が表示されました。エラーです。
念の為、実行をしてみます。
エラーになりました。
numのあとにハイフンをつけてみましょう。
エラーです。
また、変数名の前に数字をつけてみましょう。
エラーです。
num = 1
num01 = 2
num_01 = 3
# num$01 = 4
# num-01 = 5
# 01num = 6
print(num)
print(num01)
print(num_01)
# print(num$01)
# print(num-01)
# print(01num)
こちらについてはエラーになるので、コメントアウトしておきましょう。
コメントアウトとは、記述したプログラムを処理させないようにすることです。
コメントアウトはスラッシュ2つで記述することでできます。
コメントアウトは、ショートカットでもできます。
macの場合だと「command + /(スラッシュ)」、Windowsの場合だと「[Ctrl]+[/]」でできます。
この状態で実行してみます。
エラーの部分はコメントアウトしたため、エラーにならず実行されました。
NUM := 1
Num := 2
fmt.Println(NUM)
fmt.Println(Num)
大文字と小文字は区別されます。
すべて大文字のNUM、最初だけ大文字のNumを作って変数を代入させてみましょう。
それぞれ1と2を代入してみます。
もし仮に、大文字と小文字が区別されないのであれば、両方ともに2と代入されるはずです。
実行してみます。
別々の数字が表示されました。
なお、1文字目が小文字の場合は、そのパッケージだけで使える変数や関数。1文字目が大文字の場合は、他のパッケージからも使える変数や関数です。
「Println」も1文字目が大文字となっています。
Printlnは、fmtパッケージの関数です。
mainパッケージの関数ではありません。
しかし、mainパッケージで使えるは、1文字目が大文字の関数だからです。
return := 10;
予約語は変数名にすることができません。
予約語とは、「return」「import」「for 」「package」など、プログラミング言語ですでに役割が決まっている単語のことをいいます。
「return」という変数をつくってみましょう。
エラーです。