0
  • 聊天消息
  • 系統(tǒng)消息
  • 評論與回復(fù)
登錄后你可以
  • 下載海量資料
  • 學(xué)習(xí)在線課程
  • 觀看技術(shù)視頻
  • 寫文章/發(fā)帖/加入社區(qū)
會員中心
創(chuàng)作中心

完善資料讓更多小伙伴認(rèn)識你,還能領(lǐng)取20積分哦,立即完善>

3天內(nèi)不再提示

golang通過切片創(chuàng)建新的切片

麥辣雞腿堡 ? 來源:盼盼編程 ? 作者:盼盼編程 ? 2023-10-09 09:48 ? 次閱讀

通過切片創(chuàng)建新的切片

切片之所以被稱為切片,是因為創(chuàng)建一個新的切片,也就是把底層數(shù)組切出一部分。通過切片創(chuàng)建新切片的語法如下:

slice[i:j]
slice[i:j:k]

其中 i 表示從 slice 的第幾個元素開始切,j 控制切片的長度(j-i),k 控制切片的容量(k-i),如果沒有給定 k,則表示切到底層數(shù)組的最尾部。下面是幾種常見的簡寫形式:

slice[i:]  // 從 i 切到最尾部
slice[:j]  // 從最開頭切到 j(不包含 j)
slice[:]   // 從頭切到尾,等價于復(fù)制整個 slice

讓我們通過下面的例子來理解通過切片創(chuàng)建新的切片的本質(zhì):

// 創(chuàng)建一個整型切片
// 其長度和容量都是 5 個元素
num := []int{1, 2, 3, 4, 5}
// 創(chuàng)建一個新切片
// 其長度為 2 個元素,容量為 4 個元素
myNum := slice[1:3]

執(zhí)行上面的代碼后,我們有了兩個切片,它們共享同一段底層數(shù)組,但通過不同的切片會看到底層數(shù)組的不同部分:

圖片

注意:截取新切片時的原則是 "左含右不含"。所以 myNum 是從 num 的 index=1 處開始截取,截取到 index=3 的前一個元素,也就是不包index=3 這個元素。

所以,新的 myNum 是由 num 中的第2個元素、第3個元素組成的新的切片構(gòu),長度為 2,容量為 4。切片 num 能夠看到底層數(shù)組全部 5 個元素的容量,而 myNum 能看到的底層數(shù)組的容量只有 4 個元素。num 無法訪問到底層數(shù)組的第一個元素。所以,對 myNum 來說,那個元素就是不存在的。

聲明:本文內(nèi)容及配圖由入駐作者撰寫或者入駐合作網(wǎng)站授權(quán)轉(zhuǎn)載。文章觀點僅代表作者本人,不代表電子發(fā)燒友網(wǎng)立場。文章及其配圖僅供工程師學(xué)習(xí)之用,如有內(nèi)容侵權(quán)或者其他違規(guī)問題,請聯(lián)系本站處理。 舉報投訴
  • 數(shù)據(jù)結(jié)構(gòu)

    關(guān)注

    3

    文章

    568

    瀏覽量

    40030
  • 數(shù)組
    +關(guān)注

    關(guān)注

    1

    文章

    411

    瀏覽量

    25821
  • 切片
    +關(guān)注

    關(guān)注

    1

    文章

    22

    瀏覽量

    8433
收藏 人收藏

    評論

    相關(guān)推薦

    虛擬儀器可以和CT連接嗎,就是CT拍的切片圖可以通過板卡...

    就是CT拍的連續(xù)的切片圖可以通過板卡采集嗎
    發(fā)表于 11-25 09:35

    Mapr報告的切片多于設(shè)備中存在的切片

    我有一個完全放置和工作的設(shè)計 - 我在詳細(xì)的地圖報告中生成了模塊級利用率數(shù)據(jù)該設(shè)備是Virtex 6 lx75t,包含11,640個切片,但地圖上說我使用的是18016切片地圖后我如何擁有7000片
    發(fā)表于 10-15 11:45

    如何通過report_utiliztion獲得切片比率?

    大家好,當(dāng)我運行report_utilization時,我沒有獲得切片使用百分比,只有FF / LUT / BRAM / DSP /等。如何通過report_utiliztion獲得切片比率?謝謝
    發(fā)表于 10-18 14:26

    請問BGA封裝如何切片?

    請問BGA封裝如何切片?是帶芯片一起切片用顯微鏡觀察錫球情況嗎?是否有自動切片,精度如何?有看到板廠給的異常板切片報告說手工切片具有不確定性
    發(fā)表于 12-04 22:06

    怎么獲得不同F(xiàn)PGA系列的等效切片計數(shù)

    大家好,我在Artix-7設(shè)備上實現(xiàn)了一個圖像處理系統(tǒng)。我通過使用ISE工具生成的發(fā)布位置和路徑報告,根據(jù)占用的切片計算了設(shè)計的資源消耗?,F(xiàn)在我需要將我設(shè)計的資源消耗(占用切片)與其他一些設(shè)計進(jìn)行
    發(fā)表于 04-29 13:40

    如何使用DSP切片設(shè)計?

    嗨,我正在嘗試使用DSP切片的設(shè)計。但是,我發(fā)現(xiàn)在Virtex 6 FPGA中,還有一個額外的時序約束應(yīng)用于DSP Slice(對于相同的vhdl輸入)。額外的時序約束是MINPERIOD約束,它
    發(fā)表于 06-05 17:11

    什么是網(wǎng)絡(luò)切片技術(shù)_網(wǎng)絡(luò)切片技術(shù)的應(yīng)用

    網(wǎng)絡(luò)切片技術(shù)就是把運營商的物理網(wǎng)絡(luò)切分成多個虛擬網(wǎng)絡(luò),每個網(wǎng)絡(luò)適應(yīng)不同的服務(wù)需求,這可以通過時延、帶寬、安全性、可靠性來劃分不同的網(wǎng)絡(luò),以適應(yīng)不同的場景。通過網(wǎng)絡(luò)切片技術(shù)在一個獨立的物
    發(fā)表于 10-23 14:54 ?1.6w次閱讀
    什么是網(wǎng)絡(luò)<b class='flag-5'>切片</b>技術(shù)_網(wǎng)絡(luò)<b class='flag-5'>切片</b>技術(shù)的應(yīng)用

    新型高端電容切片制樣方式:氬離子研磨拋光/離子研磨CP

    檢查、研究與判斷的根據(jù)。對于外層品質(zhì)或者外觀不良,可以通過光學(xué)檢測儀或者目檢進(jìn)行判定;但對于壓合后的內(nèi)層或者孔的品質(zhì)確認(rèn),則須要通過切片進(jìn)行品質(zhì)判定和對不良的原因作出初步分析。切片分析是進(jìn)行電容失效分析的重要技術(shù),
    發(fā)表于 04-28 11:39 ?3378次閱讀
    新型高端電容<b class='flag-5'>切片</b>制樣方式:氬離子研磨拋光/離子研磨CP

    網(wǎng)絡(luò)切片的分類 網(wǎng)絡(luò)切片粒度如何選擇

    網(wǎng)絡(luò)切片是一種按需組網(wǎng)的方式,可以讓運營商在統(tǒng)一的基礎(chǔ)設(shè)施上分離出多個虛擬的端到端網(wǎng)絡(luò),每個網(wǎng)絡(luò)切片從無線接入網(wǎng)承載網(wǎng)再到核心網(wǎng)上進(jìn)行邏輯隔離,以適配各種各樣類型的應(yīng)用。 網(wǎng)絡(luò)切片的分類 1、獨立
    的頭像 發(fā)表于 09-03 17:01 ?3476次閱讀

    5G 網(wǎng)絡(luò)切片之OTN切片和FlexE切片區(qū)別

    5G 網(wǎng)絡(luò)切片本質(zhì)上是一個 E2E 概念,將用戶設(shè)備連接到租戶特定的應(yīng)用程序。E2E 網(wǎng)絡(luò)切片由RAN 切片、核心切片和傳輸切片組成。每個網(wǎng)
    發(fā)表于 01-04 11:56 ?3307次閱讀

    如何實現(xiàn)端到端網(wǎng)絡(luò)切片

    3GPP將網(wǎng)絡(luò)切片定義為5G 網(wǎng)絡(luò)的主要功能之一,網(wǎng)絡(luò)切片可看作是動態(tài)創(chuàng)建的邏輯端到端網(wǎng)絡(luò)。在深入研究網(wǎng)絡(luò)切片的概念之前,我們先簡單回顧下 5G 的三大應(yīng)用場景。
    發(fā)表于 06-15 17:56 ?1474次閱讀
    如何實現(xiàn)端到端網(wǎng)絡(luò)<b class='flag-5'>切片</b>?

    Go切片的內(nèi)部實現(xiàn)

    cap容量,長度是指已經(jīng)被賦過值的最大下標(biāo)+1,可通過內(nèi)置函數(shù)len()獲得。 容量是指切片目前可容納的最多元素個數(shù),可通過內(nèi)置函數(shù)cap()獲得。切片是引用類型,因此在當(dāng)傳遞
    的頭像 發(fā)表于 10-09 09:43 ?469次閱讀
    Go<b class='flag-5'>切片</b>的內(nèi)部實現(xiàn)

    golan共享底層數(shù)組的切片

    nil 和空切片 有時,程序可能需要聲明一個值為 nil 的切片(也稱nil切片)。只要在聲明時不做任何初始化,就會創(chuàng)建一個 nil 切片。
    的頭像 發(fā)表于 10-09 09:56 ?517次閱讀
    golan共享底層數(shù)組的<b class='flag-5'>切片</b>

    數(shù)組中如何增加切片的容量

    切片擴(kuò)容 相對于數(shù)組而言,使用切片的一個好處是:可以按需增加切片的容量。 Golang 內(nèi)置的 append() 函數(shù)會處理增加長度時的所有操作細(xì)節(jié)。要使用 append() 函數(shù),需
    的頭像 發(fā)表于 10-09 10:01 ?517次閱讀
    數(shù)組中如何增加<b class='flag-5'>切片</b>的容量

    列表切片操作的特點

    是1,可通過增加第三個參數(shù)實現(xiàn)不同切片 步長是-1時,可實現(xiàn)倒序切片 下標(biāo)缺省時,表示從最"前"到最"后"(這里的前后要結(jié)合上下文來看,具體后面有示例) 例如,下面這些常規(guī)操作大家應(yīng)該都很熟悉: 1lyst = list(ran
    的頭像 發(fā)表于 11-01 16:31 ?410次閱讀