Go開發(fā)工程師
未來3-5年企業(yè)高性能項(xiàng)目不可替代的語言,從基礎(chǔ)到項(xiàng)目實(shí)戰(zhàn)再到重構(gòu),真正從入門到精通
一個(gè)數(shù)組(Array)就是一個(gè)可以容納若干類型相同的元素的容器。這個(gè)容器的大小(即數(shù)組的長(zhǎng)度)是固定的,且是體現(xiàn)在數(shù)組的類型字面量之中的。比如,我們聲明了一個(gè)數(shù)組類型:
type MyNumbers [3]int
注:類型聲明語句由關(guān)鍵字type
、類型名稱和類型字面量組成。
所謂類型字面量,就是用于表示某個(gè)類型的字面表示(或稱標(biāo)記方法)。相對(duì)的,用于表示某個(gè)類型的值的字面表示可被稱為值字面量,或簡(jiǎn)稱為字面量。比如之前提到過的3.7E-2
就可被稱為浮點(diǎn)數(shù)字面量。 類型字面量[3]int
由兩部分組成。第一部分是由方括號(hào)包裹的數(shù)組長(zhǎng)度,即[3]
。這也意味著,一個(gè)數(shù)組的長(zhǎng)度是該數(shù)組的類型的組成部分,是固定不變的。該類型字面量的第二個(gè)組成部分是int
。它代表了該數(shù)組可以容納的元素的類型。說到這里,上面這條類型聲明語句實(shí)際上是為數(shù)組類型[3]int
聲明了一個(gè)別名類型。這使得我們可以把MyNumbers
當(dāng)做數(shù)組類型[3]int
來使用。
我們表示這樣一個(gè)數(shù)組類型的值的時(shí)候,應(yīng)該把該類型的類型字面量寫在最左邊,然后用花括號(hào)包裹該值包含的若干元素。各元素之間以(英文半角)逗號(hào)分隔,即:
[3]int{1, 2, 3}
現(xiàn)在,我們把這個(gè)數(shù)組字面量賦給一個(gè)名為numbers
的變量:
var numbers = [3]int{1, 2, 3}
注:這是一條變量聲明語句。它在聲明變量的同時(shí)為該變量賦值。
另一種便捷方法是,在其中的類型字面量中省略代表其長(zhǎng)度的數(shù)字,像這樣:
var numbers = [...]int{1, 2, 3}
這樣就可以免去我們?yōu)樘钊肽莻€(gè)數(shù)字而數(shù)出元素個(gè)數(shù)的工作了。
接下來,我們可以很方便地使用索引表達(dá)式來訪問該變量的值中的任何一個(gè)元素,例如:
numbers[0] // 會(huì)得到第一個(gè)元素 numbers[1] // 會(huì)得到第二個(gè)元素 numbers[2] // 會(huì)得到第三個(gè)元素
注:索引表達(dá)式由字符串、數(shù)組、切片或字典類型的值(或者代表此類值的變量或常量)和由方括號(hào)包裹的索引值組成。在這里,索引值的有效范圍是[0, 3)。也就是說,對(duì)于數(shù)組來說,索引值既不能小于0也不能大于或等于數(shù)組值的長(zhǎng)度。另外要注意,索引值的最小有效值總是0,而不是1。
相對(duì)的,如果我們想修改數(shù)組值中的某一個(gè)元素值,那么可以使用賦值語句直接達(dá)到目的。例如,我們要修改numbers
中的第二個(gè)元素的話,如此即可:
numbers[1] = 4
雖然數(shù)組的長(zhǎng)度已經(jīng)體現(xiàn)在了它的類型字面量,但是我們?cè)诤芏鄷r(shí)候仍然需要明確的獲得它,像這樣:
var length = len(numbers)
注:len
是Go語言的內(nèi)建函數(shù)的名稱。該函數(shù)用于獲取字符串、數(shù)組、切片、字典或通道類型的值的長(zhǎng)度。我們可以在Go語言源碼文件中直接使用它。
最后,要注意,如果我們只聲明一個(gè)數(shù)組類型的變量而不為它賦值,那么該變量的值將會(huì)是指定長(zhǎng)度的、其中各元素均為元素類型的零值(或稱默認(rèn)值)的數(shù)組值。例如,若有這樣一個(gè)變量:
var numbers2 [5]int
則它的值會(huì)是
[5]int{0, 0, 0, 0, 0}
請(qǐng)?jiān)诿钤创a文件index.go的第11行的反引號(hào)中填入一個(gè)數(shù)字,使程序打印到標(biāo)準(zhǔn)輸出上的內(nèi)容為true
。
應(yīng)該填入11
。計(jì)算方法請(qǐng)參見“知識(shí)要點(diǎn)”。
請(qǐng)驗(yàn)證,完成請(qǐng)求
由于請(qǐng)求次數(shù)過多,請(qǐng)先驗(yàn)證,完成再次請(qǐng)求
打開微信掃碼自動(dòng)綁定
綁定后可得到
使用 Ctrl+D 可將課程添加到書簽
舉報(bào)