91超碰碰碰碰久久久久久综合_超碰av人澡人澡人澡人澡人掠_国产黄大片在线观看画质优化_txt小说免费全本

溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

GO語言中make()如何使用

發布時間:2021-07-20 15:52:26 來源:億速云 閱讀:169 作者:Leah 欄目:編程語言

GO語言中make()如何使用,很多新手對此不是很清楚,為了幫助大家解決這個難題,下面小編將為大家詳細講解,有這方面需求的人可以來學習下,希望你能有所收獲。

make()分配:內部函數 make(T, args) 的服務目的和 new(T) 不同。
它只生成切片,映射和程道,并返回一個初始化的(不是零)的,type T的,不是 *T 的值。

這種區分的原因是,這三種類型的數據結構必須在使用前初始化.
比如切片是一個三項的描述符,包含數據指針(數組內),長度,和容量;在這些項初始化前,切片為 nil 。

對于切片、映射和程道,make初始化內部數據結構,并準備要用的值。
記住 make() 只用于映射、切片和程道,不返回指針。要明確的得到指針用 new() 分配

復制代碼 代碼如下:

package main
import "fmt"
func main() {
 //分配片結構;* p==零
 var p *[]int = new([]int)
 *p = make([]int, 100, 100) //這樣寫有點復雜,很容易就搞亂了
 fmt.Println(p)
 //現在將V分配一個新的數組,100個整型
 //寫法一
 //var v  []int = make([]int, 100)
 //寫法二:非常常用的寫法,簡節明了
 v := make([]int, 100)
 fmt.Println(v)
}
通過make()還可以靈活地創建數組切片。如
//創建切片也使用make函數,它被分配一個零數組和指向這個數組的切片。
//創建一個初始元素個數為5的數組切片,元素初始值為0
a := make([]int, 5)  // len(a)=5
//切片有長度和容量。切片的最大長度就是它的容量。
//指定一個切片的容量,通過第三個參數。
//創建一個初始元素個數為5的數組切片,元素初始值為0,并預留10個元素的存儲空間
b := make([]int, 5, 10)    // len(b)=5, cap(b)=10
//通過重新切片,可使切片增加。
b = b[:cap(b)] // len(b)=5, cap(b)=5
b = b[1:]      // len(b)=4, cap(b)=4
//直接創建并初始化包含5個元素的數組切片
c := []int{1,2,3,4,5}

看完上述內容是否對您有幫助呢?如果還想對相關知識有進一步的了解或閱讀更多相關文章,請關注億速云行業資訊頻道,感謝您對億速云的支持。

向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI

来安县| 平山县| 蒙山县| 长宁区| 平潭县| 洪湖市| 巨鹿县| 双鸭山市| 淮安市| 明水县| 府谷县| 湖南省| 丽水市| 景泰县| 比如县| 邵阳县| 莎车县| 汝南县| 武强县| 乐昌市| 十堰市| 兰考县| 清丰县| 百色市| 涪陵区| 焦作市| 河池市| 岳阳县| 武汉市| 三明市| 巴林左旗| 清水河县| 泗洪县| 称多县| 梓潼县| 肥东县| 柏乡县| 谢通门县| 蓬溪县| 康保县| 贡觉县|