關(guān)于Golang面試寶典
最近幾年喻括,Go的熱度持續(xù)飆升望蜡,國(guó)內(nèi)外很多大公司都在大規(guī)模的使用Go冕杠。Google是Go語(yǔ)言誕生的地方,其他公司如Facebook纺座、騰訊仿滔、阿里、字節(jié)跳動(dòng)犹芹、百度崎页、京東、小米等都在擁抱和轉(zhuǎn)向Go腰埂。Go語(yǔ)言的開(kāi)源項(xiàng)目也非常多飒焦,如kubernetes、docker屿笼、etcd牺荠。
隨著市場(chǎng)對(duì)Go語(yǔ)言人才需求的增長(zhǎng)翁巍,很多開(kāi)發(fā)者都投入了Go語(yǔ)言的懷抱。本系列文章將以第一視角與大家一同開(kāi)始Golang的面試之路休雌,希望大家能夠有所收獲灶壶,拿下心儀的offer。
Go語(yǔ)言數(shù)組知識(shí)點(diǎn)總結(jié)
數(shù)組可以存放多個(gè)<font color='red'>同一類(lèi)型</font>數(shù)據(jù)杈曲。在Go語(yǔ)言中例朱,數(shù)組是值類(lèi)型。
初始化一個(gè)數(shù)組
var numArray1 [3]int = [3]int{1, 2, 3}
var numArray2 = [3]int{1, 2, 3}
var numArray3 = [...]int{1, 2, 3}
// 指定下標(biāo)的元素值
var numArray4 = [3]int{2: 3}
Go語(yǔ)言中數(shù)組內(nèi)存是連續(xù)的鱼蝉,數(shù)組首元素的地址為數(shù)組的地址,數(shù)組中各個(gè)元素的地址間隔由數(shù)組儲(chǔ)存的數(shù)據(jù)類(lèi)型決定箫荡。
遍歷數(shù)組
方式1
arr := [3]int{1, 2, 3}
for index, value := range arr {
fmt.Printf("index: %d, value: %v", index, value)
}
方式2
arr := [3]int{1, 2, 3}
for i := 0; i < len(arr); i++ {
fmt.Printf("index: %d, value: %v", i, arr[i])
}
數(shù)組注意事項(xiàng)
- 數(shù)組是多個(gè)<font color='red'>相同類(lèi)型</font>數(shù)據(jù)的集合魁亦,一旦聲明/定義后,<font color='red'>長(zhǎng)度是固定的羔挡,不能動(dòng)態(tài)變化</font>
- 數(shù)組中的元素可以是任何數(shù)據(jù)洁奈,包括值類(lèi)型和引用類(lèi)型
- 數(shù)組創(chuàng)建后,如果沒(méi)有賦值绞灼,則默認(rèn)值為該類(lèi)型數(shù)據(jù)的默認(rèn)值
- Go語(yǔ)言中數(shù)組為<font color='red'>值類(lèi)型</font>利术,默認(rèn)情況下是值傳遞,如果想要在函數(shù)中修改原來(lái)的數(shù)組低矮,可使用指針?lè)绞揭脗鬟f