官术网_书友最值得收藏!

2.5 變量

在Go程序運行期間,變量值是可以被修改的。變量中的數(shù)據(jù)類型可以是布爾類型、數(shù)值類型和字符串類型,也可以是派生類型。Go語言中變量的聲明語法為:

var 變量名 [數(shù)據(jù)類型] = 變量值
變量名 := 變量值

變量聲明的關(guān)鍵詞為var,后面跟著變量名(標(biāo)識符),其中數(shù)據(jù)類型是可選的,但值不能省略。Go編譯器可以根據(jù)變量的值來推斷它的數(shù)據(jù)類型。變量聲明有顯式聲明、隱式聲明和短聲明之分:

· 顯式聲明:var myVar string = "hello"。

· 隱式聲明:var myVar = "hello"。

· 短聲明:myVar := "hello"。

短聲明和隱式聲明的值不能省略,變量的類型由編譯器自動確定。另外,我們可以在一行語句中同時聲明多個同類型的變量,語法如下:

var 變量名1, 變量名2,...,變量名n= 變量值1,變量值2,...,變量值n

下面是變量基本用法的示例程序2-13。

示例程序2-13 變量基本用法:chapter02\code07\var.go

注意

短聲明左邊的變量可以是多個,但至少有一個是新聲明的變量,其他的變量可以是在之前聲明過(只用于賦值),否則會報編譯錯誤。

在Go語言中,變量與常量不同,變量在函數(shù)體外進行聲明時是不能進行賦值的,否則會報編譯錯誤。為了驗證這種說法,下面是變量在函數(shù)體外聲明的示例程序2-14。

示例程序2-14 變量在函數(shù)體外聲明:chapter02\code07\var2.go

在示例程序2-14中,第04行聲明了一個整數(shù)類型的變量a,如果第06行取消注釋,把2賦值給變量a,就會報錯,因為在函數(shù)體外只能聲明變量,而不能對變量進行賦值。第09行在main函數(shù)內(nèi)部聲明了一個和外部同名的變量a,并賦值為1,此時第11行在函數(shù)內(nèi)部調(diào)用a的值則為函數(shù)內(nèi)部的變量a,而不是函數(shù)體外的變量a。

主站蜘蛛池模板: 昭平县| 阿拉尔市| 石嘴山市| 织金县| 乡宁县| 樟树市| 西平县| 涪陵区| 富宁县| 永和县| 金塔县| 台中县| 白沙| 嘉义县| 鹤庆县| 东乌| 彭山县| 习水县| 腾冲县| 永安市| 上杭县| 阿勒泰市| 外汇| 宁明县| 晋中市| 张掖市| 苍溪县| 那曲县| 泰顺县| 松潘县| 上杭县| 泸西县| 瑞安市| 澄城县| 铅山县| 田阳县| 华亭县| 浦江县| 潼南县| 曲靖市| 抚远县|