GO 類型-變量
變量
GO是靜態(tài)類型語(yǔ)言,不能在運(yùn)行期改變變量類型。
變量定義
使?關(guān)鍵字 var 定義變量,?動(dòng)初始化為零值。如果提供初始化值,可省略變量類型,由
編譯器?動(dòng)推斷。
var x int
var f float32 = 1.6
var s = "abc"
函數(shù)內(nèi)部定義
在函數(shù)內(nèi)部,可?更簡(jiǎn)略的 “:=” ?式定義變量。
func main() {
x := 123 // 注意檢查,是定義新局部變量,還是修改全局變量。該?式容易造成錯(cuò)誤。
}
一次定義多個(gè)變量
var x, y, z int
var s, n = "abc", 123
var (
a int
b float32
)
func main() {
n, s := 0x1234, "Hello, World!"
println(x, s, n)
}
多變量賦值時(shí),先計(jì)算所有相關(guān)值,然后再?gòu)淖蟮接乙来钨x值。
data, i := [3]int{0, 1, 2}, 0
i, data[i] = 2, 100 // (i = 0) -> (i = 2), (data[0] = 100)
只寫(xiě)不讀變量
特殊只寫(xiě)變量 “_”,?于忽略值占位
func test() (int, string) {
return 1, "abc"
}
func main() {
_, s := test()
println(s)
}
未使?的局部變量會(huì)編譯錯(cuò)誤
編譯器會(huì)將未使?的局部變量當(dāng)做錯(cuò)誤
var s string // 全局變量沒(méi)問(wèn)題。
func main() {
i := 0 // Error: i declared and not used。(可使? "_ = i" 規(guī)避)
}
重新賦值與定義新同名變量的區(qū)別
注意重新賦值與定義新同名變量的區(qū)別
s := "abc"
println(&s)
s, y := "hello", 20 // 重新賦值: 與前 s 在同?層次的代碼塊中,且有新的變量被定義。
println(&s, y) // 通常函數(shù)多返回值 err 會(huì)被重復(fù)使?。
{
s, z := 1000, 30 // 定義新同名變量: 不在同?層次代碼塊。
println(&s, z)
}
輸出
0x2210230f30
0x2210230f30 20
0x2210230f18 30
了解更多 GO 知識(shí),可以再看下面的文章:文章來(lái)源:http://www.zghlxwxcb.cn/news/detail-498662.html
Java與Go中Switch區(qū)別文章來(lái)源地址http://www.zghlxwxcb.cn/news/detail-498662.html
到了這里,關(guān)于GO 類型的文章就介紹完了。如果您還想了解更多內(nèi)容,請(qǐng)?jiān)谟疑辖撬阉鱐OY模板網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關(guān)文章,希望大家以后多多支持TOY模板網(wǎng)!