Go的100天之旅-03變量

變量介紹

變量這個詞來源於數學,相似方程中的x、y,表明的是存儲在計算機中的值。這裏主要介紹Go和其它編程語言不同的地方,在前面咱們提到過,Go是一門靜態語言。靜態語言區別動態語言一個重要的特性就是變量的類型不可變,通常是在聲明的時候就指定類型,以後就不可修改它的類型,而動態語言能夠隨時修改變量的類型。Go的變量能夠在聲明的時候不指定類型而是直接賦值,Go會自動根據值判斷變量的類型,好比:編程

var i = 1

固然這時i的類型(int)也就肯定了以後不能修改i的類型。
也能夠聲明的時候指定類型:編程語言

var i int

這裏面的i就是int類型。若是變量聲明的時候沒有給定初始值,那默認就是零值,好比:函數

var i int
var s string

fmt.Println(i)
fmt.Println(s)

輸出是:指針

0

這裏string的零值是""。bool類型的零值是false,之後講到的指針類型零值是nilcode

Go的簡短形式:=聲明

上面介紹過,Go能夠在變量定義的時候比指定類型,系統自動判斷類型,那聲明的變量的時候加上var是否是感受有點多餘了。Go能夠用:=這種寫法直接聲明變量例如:數學

i := 5
a := false

這時i就是int類型值爲5a就是bool類型值爲false,須要注意的是它只能被用在函數中,不能全局的聲明變量例如:string

package main

import "fmt"
i := 1

func main() {
    fmt.Println(i)
}

這樣是不行的。
還有就是相同的變量,在同一個代碼塊中只能這樣被聲明一次,第二次聲明也是錯誤的例如:class

package main

import "fmt"

func main() {
    i := 1
    i : = 2
    fmt.Println(i)
}

這樣也會報錯。import

多變量聲明

多變量聲明是指一次能夠聲明多個變量例如變量

var i, j, k int
i, j, k = 0, 1, 2

var m, n = 1, 2
var a, b = 1, false

須要指出的是多個變量聲明能夠指定不通的類型例如上面 var a, b = 1, false
也支持:=形式的多變量聲明

a, b := 1, false

只要 := 左側出現了新的變量就能夠例如:

a, b := 1, false
b, c := false, 1
相關文章
相關標籤/搜索