Go語(yǔ)言的變量和常量

1. 變量

1.1 變量聲明

變量聲明的標(biāo)準(zhǔn)格式:
var <變量名稱> <變量類型>
變量名稱的首字母大小寫(xiě)則決定該變量可否被外部引入,變量類型Go語(yǔ)言中支持很多種比如常見(jiàn)的int、string、bool、byte、float32等。

除了標(biāo)準(zhǔn)格式的聲明外,還有兩種帶初始化的變量聲明:
var <變量名稱> = <變量值>,會(huì)根據(jù)初始化變量具體的值來(lái)確定變量的類型,且使用范圍沒(méi)有限制;
<變量名稱> := <變量值>,簡(jiǎn)短模式的變量聲明且?guī)в酗@式初始化,不過(guò)這種方法僅限于在函數(shù)內(nèi)部使用;

另外,變量的聲明還支持如下的使用形式:

// 同時(shí)聲明同一類型的多個(gè)變量
var a, b int
// 支持批次聲明
var (
  a int
  b string
  help bool
  array0 [10]int
  slice0 []int
)

1.2 變量初始化

關(guān)于變量的初始化方法其實(shí)上面變量聲明中已經(jīng)基本上都已經(jīng)涉及到了,還要一種對(duì)應(yīng)標(biāo)準(zhǔn)格式的初始化方法:
var <變量名稱> <變量類型> = <變量值>

最后注意,一旦變量被聲明之后,在Go的內(nèi)存中其實(shí)都已經(jīng)被初始化了,系統(tǒng)自動(dòng)賦予它該類型的零值:int 為 0,float 為 0.0,bool 為 false,string 為空字符串,指針為 nil等。

2 常量

go語(yǔ)言的常量通常使用const關(guān)鍵字來(lái)聲明,并且常量的數(shù)據(jù)類型只可以是布爾型、數(shù)字型和字符串型,一般的定義格式如下:
const 變量名稱 [變量類型] = 變量值,跟變量相比,一般常量除了由關(guān)鍵字var --> const外,定義規(guī)則基本上跟變量保持一致,另外常量還支持枚舉類型,比如:

const (
  UNKNOWN = 400
  SUCCESS = 200
  ERROR = 500
)

并且常量可以用函數(shù)計(jì)算表達(dá)式的值,不過(guò)這些函數(shù)必須是go的內(nèi)置函數(shù),否則編譯不過(guò)。

特殊常量iota

常量聲明可以使用 iota 常量生成器初始化,它用于生成一組以相似規(guī)則初始化的常量,但是不用每行都寫(xiě)一遍初始化表達(dá)式。在一個(gè) const 聲明語(yǔ)句中,在第一個(gè)聲明的常量所在的行,iota 將會(huì)被置為 0,然后在每一個(gè)有常量聲明的行加一,下面看幾個(gè)相關(guān)的例子:

  • Example1
const (
  a = iota //a=0
  b        //b=1
  c        //c=2
  d        //d=3
  e = "welcome"
  f
  g = iota
  h
  i
)
  • Example2
const (
  a = 1 << iota // a=1
  b = 3 << iota // b=6
  c             //c=12
  d            //d=24
)
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時(shí)請(qǐng)結(jié)合常識(shí)與多方信息審慎甄別。
平臺(tái)聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡(jiǎn)書(shū)系信息發(fā)布平臺(tái),僅提供信息存儲(chǔ)服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

友情鏈接更多精彩內(nèi)容