切片(slice)是 Golang 中一種比較特殊的數(shù)據(jù)結構,這種數(shù)據(jù)結構更便于使用和管理數(shù)據(jù)集合。切片是圍繞動態(tài)數(shù)組的概念構建的,可以按需自動增長和縮小。
成都創(chuàng)新互聯(lián)公司擁有一支富有激情的企業(yè)網(wǎng)站制作團隊,在互聯(lián)網(wǎng)網(wǎng)站建設行業(yè)深耕十載,專業(yè)且經(jīng)驗豐富。十載網(wǎng)站優(yōu)化營銷經(jīng)驗,我們已為成百上千家中小企業(yè)提供了成都網(wǎng)站設計、成都網(wǎng)站建設解決方案,按需網(wǎng)站開發(fā),設計滿意,售后服務無憂。所有客戶皆提供一年免費網(wǎng)站維護!通過 make() 函數(shù)創(chuàng)建切片
使用 Golang 內(nèi)置的 make() 函數(shù)創(chuàng)建切片,此時需要傳入一個參數(shù)來指定切片的長度:
// 創(chuàng)建一個整型切片 // 其長度和容量都是 5 個元素 slice := make([]int, 5)
此時只指定了切片的長度,那么切片的容量和長度相等。也可以分別指定長度和容量:
// 創(chuàng)建一個整型切片 // 其長度為 3 個元素,容量為 5 個元素 slice := make([]int, 3, 5)
分別指定長度和容量時,創(chuàng)建的切片,底層數(shù)組的長度是指定的容量,但是初始化后并不能訪問所有的數(shù)組元素。
注意,Golang 不允許創(chuàng)建容量小于長度的切片,當創(chuàng)建的切片容量小于長度時會在編譯時刻報錯:
// 創(chuàng)建一個整型切片 // 使其長度大于容量 myNum := make([]int, 5, 3)
通過字面量創(chuàng)建切片
另一種常用的創(chuàng)建切片的方法是使用切片字面量,這種方法和創(chuàng)建數(shù)組類似,只是不需要指定[]運算符里的值。初始的長度和容量會基于初始化時提供的元素的個數(shù)確定:
// 創(chuàng)建字符串切片 // 其長度和容量都是 3 個元素 myStr := []string{"Jack", "Mark", "Nick"} // 創(chuàng)建一個整型切片 // 其長度和容量都是 4 個元素 myNum := []int{10, 20, 30, 40}
當使用切片字面量創(chuàng)建切片時,還可以設置初始長度和容量。要做的就是在初始化時給出所需的長度和容量作為索引。下面的語法展示了如何使用索引方式創(chuàng)建長度和容量都是100個元素的切片:
// 創(chuàng)建字符串切片 // 使用空字符串初始化第 100 個元素 myStr := []string{99: ""}
以上就是golang切片需要make嗎的詳細內(nèi)容,更多請關注創(chuàng)新互聯(lián)成都網(wǎng)站設計公司其它相關文章!
另外有需要云服務器可以了解下創(chuàng)新互聯(lián)scvps.cn,海內(nèi)外云服務器15元起步,三天無理由+7*72小時售后在線,公司持有idc許可證,提供“云服務器、裸金屬服務器、高防服務器、香港服務器、美國服務器、虛擬主機、免備案服務器”等云主機租用服務以及企業(yè)上云的綜合解決方案,具有“安全穩(wěn)定、簡單易用、服務可用性高、性價比高”等特點與優(yōu)勢,專為企業(yè)上云打造定制,能夠滿足用戶豐富、多元化的應用場景需求。