初學 Golang 30 天 - (3)變數

用 var 來定義變數,跟其他語言不大箱同的是,Go 必須將型態宣告寫在後面。

#如果要同時宣告不同的變數,也可以用小括弧把變數括起來,但是一定要換行。

範例程式碼

package main

import "fmt"

var x, y, z int
var c, python, java bool

func main() {
    fmt.Println(x, y, z, c, python, java)
}

範例程式碼

package main

import "fmt"

var (
x int
y int
z int
c bool
python bool
java bool
)

func main() {
fmt.Println(x, y, z, c, python, java)
}

輸出結果

0 0 0 false false false

2. 初始化變數

定義變數時可以直接賦予初始值,變數與賦予的值要互相對應。如果有初始化的話,型別就可以省略;變數會直接取用初始化的類型

範例程式碼

package main

import "fmt"

var x, y, z int = 1, 2, 3
var c, python, java = true, false, "no!"

func main() {
    fmt.Println(x, y, z, c, python, java)
}

輸出結果

1 2 3 true false no!

3. 短變數宣告

在函數中,「:=」 簡潔賦值語句在明確類型的地方,可以替代 var 定義。

(「:=」 結構不能使用在函數外,函數外的每個語法都必須以關鍵字開始。)

範例程式碼

package main

import "fmt"

func main() {
    var x, y, z int = 1, 2, 3
    c, python, java := true, false, "no!"
    fmt.Println(x, y, z, c, python, java)
}

輸出結果

1 2 3 true false no!

總結來說

var a  // 不定型別的變數
var a int // 宣告成 int
var a int = 10 // 初始化同時宣告
var a, b int // a 跟 b 都是 intvar a, b = 0, ""
var a int , b string
a := 0
a, b, c := 0, true, "tacolin" // 這樣就可以不同型別寫在同一行
var(
    a bool = false // 記得要不同行,不然會錯
    b int
    c = "hello"
)

comments powered by Disqus