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

go語(yǔ)言中的二維切片賦值

 更新時(shí)間:2021年04月26日 11:03:32   作者:kgduu  
這篇文章主要介紹了go語(yǔ)言中的二維切片賦值操作,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過(guò)來(lái)看看吧

先用append填充一維的,然后將一維append到二維

代碼如下

var a [][]int
for i := 0; i < 10; i++ {
     var tmp []int
     for j:= 0; j < 10; j++ {
          tmp = append(tmp, j)
     }
     a = append(a, tmp)
}

補(bǔ)充:Go切片的一些技巧

空切片也是切片

與map不同,尚未分配的切片也是可以用的:

一個(gè)nil切片的長(zhǎng)度和容量都是0;你可以append到一個(gè)空切片,Go會(huì)自動(dòng)分配;你也可以直接迭代一個(gè)空切片

var s []int64 // nil, len 0, cap 0
for i := range s {
  fmt.Println("this will not be printed")
}
s = append(s, 1) // len 1

結(jié)果就是,如果一個(gè)map的值是slice類(lèi)型,那么沒(méi)必要為一個(gè)新的key創(chuàng)建一個(gè)slice。

m := map[string][]int64{}
for {
  // do something
  if _, found := m[key]; !found {
    m[key] = []int64{value}
  } else {
    m[key] = append(m[key], value)
  }
}

上面的代碼可以替換為

m := map[string][]int64{}
for {
  // do something
  m[key] = append(m[key], value)
}

對(duì)一個(gè)切片進(jìn)行重新切片,會(huì)分享同一個(gè)底層數(shù)組

一個(gè)切片就是一個(gè)指向數(shù)組的指針。重新切片(如 s2 := s1[a:b] )就是對(duì)相同的底層數(shù)組創(chuàng)建了一個(gè)新的指針,新的指針具有不同的起始偏移量和切片長(zhǎng)度。

結(jié)果就是,append操作會(huì)修改所有切片。

s1 := []int64{1, 2, 3}
s2 := s1[:1]
s2 = append(s2,0)
fmt.Println(s1) // []int64{1, 0, 3}

……除非需要分配一個(gè)新數(shù)組:

s1 := []int64{1, 2, 3}
s2 := s1[:1]
s2 = append(s2,0,0,0) // 重新分配了一個(gè)新的底層數(shù)組
fmt.Println(s1) // []int64{1, 2, 3}

以上為個(gè)人經(jīng)驗(yàn),希望能給大家一個(gè)參考,也希望大家多多支持腳本之家。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教。

相關(guān)文章

  • 使用Go進(jìn)行單元測(cè)試的實(shí)現(xiàn)

    使用Go進(jìn)行單元測(cè)試的實(shí)現(xiàn)

    這篇文章主要介紹了使用Go進(jìn)行單元測(cè)試的實(shí)現(xiàn),文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧
    2019-11-11
  • Go中的新增對(duì)模糊測(cè)試的支持

    Go中的新增對(duì)模糊測(cè)試的支持

    這篇文章主要為大家介紹了Go中的新增對(duì)模糊測(cè)試的支持,文中還包含了一些功能實(shí)驗(yàn)性測(cè)試分析有需要的朋友可以借鑒參考下,希望能夠有所幫助
    2022-03-03
  • go slice不同初始化方式性能及數(shù)組比較詳解

    go slice不同初始化方式性能及數(shù)組比較詳解

    這篇文章主要為大家介紹了go slice不同初始化方式性能及數(shù)組比較示例詳解,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪
    2022-11-11
  • GO實(shí)現(xiàn)跳躍表的示例詳解

    GO實(shí)現(xiàn)跳躍表的示例詳解

    跳表全稱(chēng)叫做跳躍表,簡(jiǎn)稱(chēng)跳表,是一個(gè)隨機(jī)化的數(shù)據(jù)結(jié)構(gòu),實(shí)質(zhì)就是一種可以進(jìn)行二分查找的有序鏈表。本文將利用GO語(yǔ)言編寫(xiě)一個(gè)跳表,需要的可以參考一下
    2022-12-12
  • Go語(yǔ)言函數(shù)的延遲調(diào)用(Deferred Code)詳解

    Go語(yǔ)言函數(shù)的延遲調(diào)用(Deferred Code)詳解

    本文將介紹Go語(yǔ)言函數(shù)和方法中的延遲調(diào)用,正如名稱(chēng)一樣,這部分定義不會(huì)立即執(zhí)行,一般會(huì)在函數(shù)返回前再被調(diào)用,我們通過(guò)一些示例來(lái)了解一下延遲調(diào)用的使用場(chǎng)景
    2022-07-07
  • go特性之?dāng)?shù)組與切片的問(wèn)題

    go特性之?dāng)?shù)組與切片的問(wèn)題

    這篇文章主要介紹了go特性之?dāng)?shù)組與切片的問(wèn)題,本文通過(guò)實(shí)例代碼給大家介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友可以參考下
    2020-11-11
  • Go壓縮位圖庫(kù)roaring安裝使用詳解

    Go壓縮位圖庫(kù)roaring安裝使用詳解

    這篇文章主要為大家介紹了Go壓縮位圖庫(kù)roaring安裝使用詳解,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪
    2022-07-07
  • Go1.20?arena新特性示例詳解

    Go1.20?arena新特性示例詳解

    這篇文章主要為大家介紹了Go1.20?arena新特性示例詳解,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪
    2022-11-11
  • golang逐行讀取文件的操作

    golang逐行讀取文件的操作

    這篇文章主要介紹了golang逐行讀取文件的操作,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過(guò)來(lái)看看吧
    2020-12-12
  • 基于Go語(yǔ)言實(shí)現(xiàn)壓縮文件處理

    基于Go語(yǔ)言實(shí)現(xiàn)壓縮文件處理

    在現(xiàn)代的應(yīng)用開(kāi)發(fā)中,處理壓縮文件(如 .zip 格式)是常見(jiàn)的需求,本文將介紹如何使用 Go 語(yǔ)言封裝一個(gè) ziputil 包,來(lái)處理文件的壓縮和解壓操作,需要的可以了解下
    2024-11-11

最新評(píng)論

高唐县| 乌拉特前旗| 常德市| 大新县| 固阳县| 论坛| 郸城县| 澜沧| 驻马店市| 乌鲁木齐县| 商洛市| 黔西县| 二连浩特市| 民权县| 鹿邑县| 潮州市| 乡城县| 昌都县| 长宁区| 自贡市| 石家庄市| 黄石市| 昌江| 三门县| 广元市| SHOW| 司法| 平远县| 湘乡市| 修武县| 龙州县| 蓝山县| 廉江市| 南汇区| 关岭| 巴塘县| 法库县| 息烽县| 云霄县| 吴江市| 滦南县|