Help us understand the problem. What is going on with this article?

Go by Example: Variables

More than 5 years have passed since last update.

(この記事は Go by Example: Variables を翻訳したものです。)

Goにおいては、変数は明示的に宣言されコンパイラーでは関数が呼ばれる時、型のチェックなどに使われる。

package main

import "fmt"

func main() {

    // 1個以上の変数を宣言することができる。
    var a string = "initial"
    fmt.Println(a)

    // 複数の変数を一度に宣言することもできる。
    var b, c int = 1, 2
    fmt.Println(b, c)

    // Goは初期の変数の値によって型を推定する。
    var d = true
    fmt.Println(d)

    // 初期化を宣言しない変数は、zero-valueとして宣言される。
    // 例えばintのzero valueは0である。
    var e int
    fmt.Println(e)

    // :=は初期化して宣言するための省略表記である。
    // var f string = "short" を書きを同様である。
    f := "short"
    fmt.Println(f)
}

$ go run variables.go
initial
1 2
true
0
short

stringのzero value = ""

package main

import "fmt"

func main() {
    var a string
    fmt.Println(a)
    fmt.Println(a == "")
}

▶ go run str-zero.go

true

ゼロ値って?
初期化をしない場合に入っている値

bool false
整数型 0
浮動小数点型 0.0
string ""
ポインタ、関数、インタフェース、スライス、チャネル、マップ型 nil
構造体、配列 各要素がそのゼロ値

ref:http://qiita.com/jca02266/items/56a4fb7b07b692a6bf34

giwa
Why not register and get more from Qiita?
  1. We will deliver articles that match you
    By following users and tags, you can catch up information on technical fields that you are interested in as a whole
  2. you can read useful information later efficiently
    By "stocking" the articles you like, you can search right away