最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

GO語言make()分配用法實(shí)例

 更新時(shí)間:2015年02月28日 15:03:15   作者:niuniu  
這篇文章主要介紹了GO語言make()分配用法,實(shí)例分析了make()的功能及使用技巧,需要的朋友可以參考下

本文實(shí)例講述了GO語言make()分配用法。分享給大家供大家參考。具體分析如下:

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

這種區(qū)分的原因是,這三種類型的數(shù)據(jù)結(jié)構(gòu)必須在使用前初始化.
比如切片是一個(gè)三項(xiàng)的描述符,包含數(shù)據(jù)指針(數(shù)組內(nèi)),長(zhǎng)度,和容量;在這些項(xiàng)初始化前,切片為 nil 。

對(duì)于切片、映射和程道,make初始化內(nèi)部數(shù)據(jù)結(jié)構(gòu),并準(zhǔn)備要用的值。
記住 make() 只用于映射、切片和程道,不返回指針。要明確的得到指針用 new() 分配

復(fù)制代碼 代碼如下:
package main
import "fmt"
func main() {
 //分配片結(jié)構(gòu);* p==零
 var p *[]int = new([]int)
 *p = make([]int, 100, 100) //這樣寫有點(diǎn)復(fù)雜,很容易就搞亂了
 fmt.Println(p)
 //現(xiàn)在將V分配一個(gè)新的數(shù)組,100個(gè)整型
 //寫法一
 //var v  []int = make([]int, 100)
 //寫法二:非常常用的寫法,簡(jiǎn)節(jié)明了
 v := make([]int, 100)
 fmt.Println(v)
}
通過make()還可以靈活地創(chuàng)建數(shù)組切片。如
//創(chuàng)建切片也使用make函數(shù),它被分配一個(gè)零數(shù)組和指向這個(gè)數(shù)組的切片。
//創(chuàng)建一個(gè)初始元素個(gè)數(shù)為5的數(shù)組切片,元素初始值為0
a := make([]int, 5)  // len(a)=5
//切片有長(zhǎng)度和容量。切片的最大長(zhǎng)度就是它的容量。
//指定一個(gè)切片的容量,通過第三個(gè)參數(shù)。
//創(chuàng)建一個(gè)初始元素個(gè)數(shù)為5的數(shù)組切片,元素初始值為0,并預(yù)留10個(gè)元素的存儲(chǔ)空間
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
//直接創(chuàng)建并初始化包含5個(gè)元素的數(shù)組切片
c := []int{1,2,3,4,5}

希望本文所述對(duì)大家的Go語言程序設(shè)計(jì)有所幫助。

相關(guān)文章

  • Go語言并發(fā)編程 互斥鎖詳情

    Go語言并發(fā)編程 互斥鎖詳情

    在并發(fā)編程中,多個(gè)Goroutine訪問同一塊內(nèi)存資源時(shí)可能會(huì)出現(xiàn)競(jìng)態(tài)條件,我們需要在臨界區(qū)中使用適當(dāng)?shù)耐讲僮鱽硪员苊飧?jìng)態(tài)條件。Go 語言中提供了很多同步工具,本文將介紹互斥鎖Mutex和讀寫鎖RWMutex的使用方法。
    2021-10-10
  • 利用Go語言遍歷目錄下所有文件的示例代碼

    利用Go語言遍歷目錄下所有文件的示例代碼

    這篇文章主要介紹了如何使用 Go 語言遍歷指定目錄,遞歸地列出該目錄及其所有子目錄下的所有文件路徑,并有詳細(xì)的代碼示例供大家參考,需要的朋友可以參考下
    2025-07-07
  • gorm+gin實(shí)現(xiàn)restful分頁接口的實(shí)踐

    gorm+gin實(shí)現(xiàn)restful分頁接口的實(shí)踐

    本文主要介紹了gorm+gin實(shí)現(xiàn)restful分頁接口的實(shí)踐,文中通過示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下
    2021-12-12
  • 一文帶你理解Golang中的Time結(jié)構(gòu)

    一文帶你理解Golang中的Time結(jié)構(gòu)

    根據(jù)golang的time包的文檔可以知道,golang的time結(jié)構(gòu)中存儲(chǔ)了兩種時(shí)鐘,一種是Wall?Clocks,一種是Monotonic?Clocks,下面我們就來簡(jiǎn)單了解一下這兩種結(jié)構(gòu)吧
    2023-09-09
  • 利用golang實(shí)現(xiàn)pdf中自動(dòng)換行的表格

    利用golang實(shí)現(xiàn)pdf中自動(dòng)換行的表格

    這篇文章主要給大家介紹了如何利用golang實(shí)現(xiàn)pdf中自動(dòng)換行的表格,文中通過代碼示例給大家講解的非常詳細(xì),對(duì)大家的學(xué)習(xí)或工作有一定的幫助,需要的朋友可以參考下
    2024-02-02
  • 一文詳解go mod依賴管理詳情

    一文詳解go mod依賴管理詳情

    這篇文章主要介紹了一文詳解go mod依賴管理詳情,文章圍繞主題展開詳細(xì)的內(nèi)容介紹,具有一定的參考價(jià)值,需要的朋友可以參考一下
    2022-07-07
  • Go實(shí)現(xiàn)完全靜態(tài)編譯和交叉編譯的示例代碼

    Go實(shí)現(xiàn)完全靜態(tài)編譯和交叉編譯的示例代碼

    Go 語言天生支持跨平臺(tái)編譯,并且其標(biāo)準(zhǔn)庫幾乎不依賴系統(tǒng)動(dòng)態(tài)庫,所以在大多數(shù)場(chǎng)景下,它編譯出來的二進(jìn)制文件幾乎可以直接丟到任何機(jī)器運(yùn)行,但實(shí)際開發(fā)中,我們經(jīng)常遇到兩個(gè)問題,如何完全靜態(tài)編譯和交叉編譯,本文詳細(xì)的給大家介紹了解決方法,需要的朋友可以參考下
    2025-07-07
  • golang之反射和斷言的具體使用

    golang之反射和斷言的具體使用

    這篇文章主要介紹了golang之反射和斷言的具體使用,文中通過示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2019-10-10
  • Go語言開發(fā)k8s之ConfigMap操作解析

    Go語言開發(fā)k8s之ConfigMap操作解析

    這篇文章主要為大家介紹了Go語言開發(fā)k8s之ConfigMap操作示例解析,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪
    2023-06-06
  • Golang Map value不可尋址使用指針類型代替示例詳解

    Golang Map value不可尋址使用指針類型代替示例詳解

    這篇文章主要為大家介紹了Golang Map value不可尋址使用指針類型代替示例詳解,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪
    2023-11-11

最新評(píng)論

容城县| 隆林| 秦安县| 增城市| 济南市| 故城县| 唐海县| 裕民县| 福州市| 靖远县| 峨眉山市| 尚义县| 喜德县| 丰原市| 黄山市| 铁岭县| 罗源县| 陆川县| 玛纳斯县| 会东县| 安康市| 山西省| 射阳县| 利辛县| 蒙阴县| 平塘县| 大英县| 垫江县| 重庆市| 达孜县| 和田县| 抚宁县| 昭苏县| 柏乡县| 厦门市| 定远县| 余姚市| 新河县| 囊谦县| 巴林左旗| 内黄县|