Go言語を学んでいく 第1弾:基礎
最近Go言語を使ってますので、その記録をしていきます。
早速じゃんじゃん行きましょう。
対象者
Go言語を学ぶ意思がある
他言語でのプログラミング経験がある方
簡単な標準出力
いきなりコードから・・・
package main import ( "fmt" ) func main() { fmt.Println("Golang is good.") }
packageやimportあたりは、「Go言語を学んでいく 第6弾:パッケージ」の投稿でしっかり説明します。
ざっくり説明すると
標準出力するためには、"fmt"という部品(パッケージ)が必要ですので、import文で部品を取り込んであげます。
プログラムを起動したら、main関数(func main()の中)を実行してほしいので、package文でmainを指定します。
標準出力させている部分は、
fmt.Println("Golang is good.")
これで実行すると、
Golang is good.
と出力されているはずです。
標準出力の詳しい説明は、後々投稿いたします。
コメントの書き方
コメントは//での行コメントと、/* */でのブロックコメントが使用できます。
JavaやC#とかと同じですね。
package main import ( "fmt" ) func main() { // This is the output code. fmt.Println("Golang is good.") /* Golang is good. Is it output? */ }
定数
const文で定義することで、コンパイル時に定数が作成されます。
定義の仕方には数パターンあります。
型を省略することもできますが、その際、型は自動で決定します。
①const <定数名> [型] = 値
package main import ( "fmt" ) const ConstNum1 int32 = 10 const ConstNum2 = 10 func main() { fmt.Println(ConstNum1) fmt.Println(ConstNum2) }
また複数の定数をまとめて定義することもできます。
package main import ( "fmt" ) const ConstNum1, ConstNum2 int32 = 1, 2 const ConstNum3, ConstStr1 = 1, "string" func main() { fmt.Println(ConstNum1) fmt.Println(ConstNum2) fmt.Println(ConstNum3) fmt.Println(ConstStr1) }
②const (列挙)
列挙で定義することもできます。
iotaは列挙内で0,1,2,3...とインクリメントしてくれます。
今回最初の0は必要ないので、無視するようにしています。
package main import ( "fmt" ) const ( _ = iota ConstNum1 ConstNum2 ConstNum3 ) func main() { fmt.Println(ConstNum1) fmt.Println(ConstNum2) fmt.Println(ConstNum3) }
※注意として、定数になるのは数値、文字列、論理値だけです。
また定数を関数で定義することはできません。
const ConstArray = [1, 2, 3] ⇒ NG const ConstAdd = add(1, 2) ⇒ NG
変数
定数と同じように初期化できますが、プログラム実行時に評価されます。
①var <変数名> [型]
package main import ( "fmt" ) func main() { var i int fmt.Println(i) }
複数の変数を一気に定義することもできます。
package main import ( "fmt" ) func main() { var i1, i2, i3 int fmt.Println(i1, i2, i3) }
②var <変数名> [型] = <初期値>
package main import ( "fmt" ) func main() { var i int = 1 fmt.Println(i) }
こちらも複数一気に定義することもできます。
package main import ( "fmt" ) func main() { var i1, i2, i3 int = 1, 2, 3 fmt.Println(i1, i2, i3) }
③var (列挙)
列挙で一気に定義することができます。
package main import ( "fmt" ) func main() { var ( i1, i2, i3 int = 1, 2, 3 s1, s2 string = "s1", "s2" ) fmt.Println(i1, i2, i3) fmt.Println(s1, s2) }
④<変数名> := <値>
型の指定を行わず、省略した形の記述方法です。
package main import ( "fmt" ) func main() { f := 3.14 fmt.Println(f) }
次回
Go言語のステートメントについて学んでいきます。