変数(Go言語)
こんにちは!AKIです.
本日から,Goの文法編をスタートしていきます.
実は,一つの記事で「変数・関数・パッケージ」の三つを一気に説明しようと思ったのですが,長文を読むのは疲れるので,小分けで説明していきます!まずは,変数から....
それでは~Go!
変数って何?
変数は,プログラムの基本的な概念ですので,必ずマスターしましょう!
まぁ,簡単に言うと,
変数はデータを入れる箱です!(←ざっくりw)
プログラムは,データに対して,様々な処理を実行するのですが,その際に,
データを入れる箱
が必要になるのです.
データを入れる箱を用意することを,プログラムの世界では
変数を宣言する
と言います.(これから,箱を使うよん!ってPCに命令するのです.)
以上が,変数の説明です.
それでは,Goではどのように変数を宣言するのか見ていきましょう!
説明用ソースコードの全文
とりあえず,説明するためのソースコードの全文は次の通りです.
package main //このファイルは「main」パッケージですよ!と宣言
import (
"fmt" //標準入出力関数の標準パッケージ
)
/*
varによる変数宣言
*/
var a bool = false //bool型の変数aを宣言
func main() {
fmt.Println("a = ", a)
/*
varによる変数宣言(複数)
*/
var i, j int = 1, 2 // 変数の宣言と初期化
fmt.Println("i,j = ", i, ",", j)
/*
:=による変数宣言
(注1)関数の外では使えません!(関数内だけ!)
*/
k, l, m := 10, 20, "hello" // 変数の宣言(省略型)
fmt.Println("k,l,m = ", k, ",", l, ",", m)
/*
定数の宣言
*/
const pi float32 = 3.14 // 定数の宣言
fmt.Println("pi = ", pi)
//pi = 3.1415 // 定数は値を変更できない
/*
変数の基本型 (全部じゃないけどね...ごめん...)
*/
var (
vBool bool = true
vString string = "Hello"
vInt int = -1
vUint uint = 1
vFloat32 float32 = 1.0e+10
vFloat64 float64 = 1.0e+100
vComplex complex64 = 1 + 10i
)
fmt.Println("vBool = ", vBool)
fmt.Println("vString = ", vString)
fmt.Println("vInt = ", vInt)
fmt.Println("vUint = ", vUint)
fmt.Println("vFloat32 = ", vFloat32)
fmt.Println("vFloat64 = ", vFloat64)
fmt.Println("vComplex = ", vComplex)
}
varによる変数宣言
package main //このファイルは「main」パッケージですよ!と宣言
まずば,「package main」これは,このファイルは「main」というパッケージに属していますよーと宣言します.Goで書かれたすべてのファイルは何らかのパッケージに属する必要があります!
import (
"fmt" //標準入出力関数の標準パッケージ
)
import("fmt")は,fmtというGo言語標準のパッケージを使いますっていう宣言です.fmtパッケージは「formatted I/O」の略で,主に,コンソールからの入力や,コンソールへの出力を実行する関数が含まれます.
/*
varによる変数宣言
*/
var a bool = false //bool型の変数aを宣言
func main() {
fmt.Println("a = ", a)
変数を宣言するためには「var」を使います.
次に来る「a」が変数名となります.
その次の「bool」が変数の型となります.bool型で宣言された変数は「true」と「false」の二つの値を格納することができます.
うーん,型が後ろに来るなんて,Go独特の書き方ですね~!
そして,「= false」で変数aにfalseを格納しています.このように,宣言時にデータを格納することを「変数を初期化する」と言います.
varによる変数宣言(複数)
/*
varによる変数宣言(複数)
*/
var i, j int = 1, 2 // 変数の宣言と初期化
fmt.Println("i,j = ", i, ",", j)
上記のように,複数の変数を宣言し,初期化できます.
:=による変数宣言
/*
:=による変数宣言
(注1)関数の外では使えません!(関数内だけ!)
*/
k, l, m := 10, 20, "hello" // 変数の宣言(省略型)
fmt.Println("k,l,m = ", k, ",", l, ",", m)
上の宣言を見てください.なんと,varがないですねぇ~!
varを省略する代わりに,「:=」を使うことで,変数の型まで省略することができます!(型は右辺の値から決まります.)
なお,「:=による変数宣言」は関数内だけで使用可能なので,要注意です!
定数の宣言
/*
定数の宣言
*/
const pi float32 = 3.14 // 定数の宣言
fmt.Println("pi = ", pi)
//pi = 3.1415 // 定数は値を変更できない
定数は,変数と異なり,宣言時に初期化した値を途中で変更することはできません!
定数の宣言には,「const」を使います.あとは,変数と同じです!
変数の基本型
/*
変数の基本型 (全部じゃないけどね...ごめん...)
*/
var (
vBool bool = true
vString string = "Hello"
vInt int = -1
vUint uint = 1
vFloat32 float32 = 1.0e+10
vFloat64 float64 = 1.0e+100
vComplex complex64 = 1 + 10i
)
主な変数の基本型は上記の通りです.
なんと,基本型に複素数もあるんですねぇ~.
そして,varのあとに括弧()を使うことで,複数の変数を宣言できるのです!
各型の詳細な説明は,基本的な内容ですので,他のサイトを参照してください.(←面倒くさくなったw)
わからない場合は,コメントしてください(^^)/
最後に
どうでしたか?(←私は執筆しながら,眠たくなりました...w)
なんとなく,Goの変数の雰囲気を掴めたでしょうか?
プログラミングの文法の学習は,地味でつまらないですが,これが分からないと,次に進めないですからね~!仕方なし!
まぁ,プログラムは一つの言語をマスターすれば,二つ目以降の言語習得は結構,簡単なので,初学者の方には粘り強く頑張ってほしいです(*´ω`*)
それでは,次回で会いましょう('ω')ノ
サポートお願いいたします.主に初心者から中級向けに,ソフトウェア開発に関する知識を提供していきます.