「A Tour of Go をやる!」シリーズの第9回目。 二桁回目前…
今回から、ようやくファンクション回を逃れ、変数回に入っていきます。
でも進行ペースは内容に拘らず1ページ1記事ですすみます。…どんなに薄い内容でもな。
今回進めるページ「Variables(バリアブル)」
「A Tour of Go」の該当ページはこちら。
タイトルの「Variables」とは?
変数のことですね。
変数とは、1,2,3…といった数値や “Hello World” などの文字が入ったりする入れ物の事。
変数に関する言語仕様を確認する
「Variable declarations」からの引用。
変数宣言の説明と文法です。
A variable declaration creates one or more variables, binds corresponding identifiers to them, and gives each a type and an initial value.
変数宣言は、1つ以上の変数を作成し、対応する識別子をそれらにバインドし、それぞれに型と初期値を与えます。(by Google Translated.)
The Go Programming Language Specification - The Go Programming Language
VarDecl = "var" ( VarSpec | "(" { VarSpec ";" } ")" ) .
VarSpec = IdentifierList ( Type [ "=" ExpressionList ] | "=" ExpressionList ) .
var i int
var U, V, W float64
var k = 0
var x, y float32 = -1, -2
var (
i int
u, v, s = 2.0, 3.0, "bar"
)
var re, im = complexSqrt(-1)
var _, found = entries[name] // map lookup; only interested in "found"
基本となる書き方
変数宣言の基本的な文法です。
引用にあった使用例では宣言以外に初期化なども書かれていましたが、今回は宣言のみが学習対象。初期化は次回やる模様。
// 変数宣言の書き方
var [変数名] [型]
// e.g.
// i という名前の変数を int型 で宣言
var i int
// fitstname と lastname という変数を string型 で宣言
var firstname, lastname string
初期値について
初期の値を指定せず宣言された変数には、初期値がセットされます。
初期値についてはもう数回先で予定されている様なので、ここでは割愛。
宣言された変数が使われなかったら…
エラーになるので注意。
package main
import "fmt"
func main() {
// x を宣言
var x int
fmt.Println("Hello World!")
// x を使わず終了
}
でも、パッケージレベルで宣言された変数やファンクションのパラメータで宣言された変数はエラーになりません。
package main
import "fmt"
// パッケージ変数を宣言
var name string
var age int
func main() {
hoge(5)
fmt.Print("World!")
// それぞれの変数を使わず終了
}
// パラメータで変数を宣言
func hoge(x int) {
fmt.Print("Hello ")
}
サンプルプログラムを見てみる
何時も通り関連箇所にコメント打ってます。
package main
import "fmt"
// c, python, java という名前の変数を bool型 で宣言
var c, python, java bool
func main() {
// i という名前の変数を int型 で宣言
var i int
fmt.Println(i, c, python, java)
}
変数を宣言して、その変数の値を出力してるだけのプログラムですね。
…内容のないプログラム。_(:3」∠)_
さいごに
今回は変数の宣言についてな内容でした。
次回以降も変数な内容が続くようです…
ではまた次回~٩( ‘ω’ )و
コメント