1. <strong id="7actg"></strong>
    2. <table id="7actg"></table>

    3. <address id="7actg"></address>
      <address id="7actg"></address>
      1. <object id="7actg"><tt id="7actg"></tt></object>

        來了!Go 官方 Slice 教程圖解版

        共 1342字,需瀏覽 3分鐘

         ·

        2021-03-24 23:14

        較早使用 Go 的同學(xué),應(yīng)該有了解過 container/vector 包,不過后面引進(jìn)了 append(),包里的很多函數(shù)都可以使用 append() 和 copy() 代替,Go 官方就把這個(gè)包刪除了。

        51ba69bffcc395babebcd5c3146223c6.webp圖片

        為此,Go 官方還在 Github Wiki 上寫了一份文檔,關(guān)于如何使用 append() 和 copy() 代替 vector 包提供的方法,原文地址:

        https://github.com/golang/go/wiki/SliceTricks

        針對(duì)這份手冊,ueokande 做了一份圖解版的,看著生動(dòng)形象,幫忙大家記憶,分享給大家。

        想看原文的同學(xué)可以點(diǎn)擊文末的【閱讀原文】。

        原文如下:

        00.

        4d3a962558477e63f219fca0118ec458.webp圖片
        a?=?append(a,?b...)

        01.

        05d29b118d6590ab17da984d3f7ef5e2.webp圖片
        1.
        b?=?make([]T,?len(a))
        copy(b,?a)

        2.
        b?=?append([]T(nil),?a...)

        3.
        b?=?append(a[:0:0],?a...)

        02.

        83c9f0fec57bf9d2db41cc1f96fc863d.webp圖片
        a?=?append(a[:i],?a[j:]...)

        03.

        695e4a8375b0773891e386e8627e8194.webp圖片
        copy(a[i:],?a[j:])
        for?k,?n?:=?len(a)-j+i,?len(a);?k?<?n;?k++?{
        ?a[k]?=?nil?//?or?the?zero?value?of?T
        }
        a?=?a[:len(a)-j+i]

        04.

        7cb4edec5f55b44caaf780fd4072fc12.webp圖片
        1.
        a?=?append(a[:i],?a[i+1:]...)

        2.
        a?=?a[:i+copy(a[i:],?a[i+1:])]

        05.

        3a3bf9f23f6bc14f1b0133349fa3750b.webp圖片
        if?i?<?len(a)-1?{
        ??copy(a[i:],?a[i+1:])
        }
        a[len(a)-1]?=?nil?//?or?the?zero?value?of?T
        a?=?a[:len(a)-1]

        06.

        154e4d072f9cd9191583ef94a1143f1b.webp圖片
        a[i]?=?a[len(a)-1]?
        a?=?a[:len(a)-1]

        07.

        8082bc915a3144c1e558ec4520e3aea3.webp圖片
        a[i]?=?a[len(a)-1]
        a[len(a)-1]?=?nil
        a?=?a[:len(a)-1]

        08.

        7a0443614739feb17ad451ae8fcfd217.webp圖片
        a?=?append(a[:i],?append(make([]T,?j),?a[i:]...)...)

        09.

        22454ab52fa49d5489a8a3ef187964f8.webp圖片
        a?=?append(a,?make([]T,?j)...)

        10.

        2fdc2036ac55a782746bc6b30886fdcd.webp圖片
        n?:=?0
        for?_,?x?:=?range?a?{
        ?if?keep(x)?{
        ??a[n]?=?x
        ??n++
        ?}
        }
        a?=?a[:n]

        11.

        258577d0de50ae26dc789b5ea0d974f2.webp圖片
        a?=?append(a[:i],?append([]T{x},?a[i:]...)...)

        12.

        b778e205e416218820c01dc9a61f883b.webp圖片
        a?=?append(a[:i],?append(b,?a[i:]...)...)

        13.

        8e61dc9e70ef7aa3bbfcb9c865c66b3d.webp圖片
        x,?a?=?a[len(a)-1],?a[:len(a)-1]

        14.

        92e5f5b90e4af30e8e1aff6d30e88654.webp圖片
        a?=?append(a,?x)

        15.

        89eb4717808fc614d2c2c64e9d8e6c71.webp圖片
        x,?a?=?a[0],?a[1:]

        16.

        d5f813703b51d6b7f5ab5ed5a8d172fb.webp圖片
        a?=?append([]T{x},?a...)




        https://ueokande.github.io/go-slice-tricks/
        作者:ueokande

        ? ?

        --?END?--


        喜歡明哥文章的同學(xué)歡迎長按下圖訂閱!

        ???

        瀏覽 68
        點(diǎn)贊
        評(píng)論
        收藏
        分享

        手機(jī)掃一掃分享

        分享
        舉報(bào)
        評(píng)論
        圖片
        表情
        推薦
        點(diǎn)贊
        評(píng)論
        收藏
        分享

        手機(jī)掃一掃分享

        分享
        舉報(bào)
        1. <strong id="7actg"></strong>
        2. <table id="7actg"></table>

        3. <address id="7actg"></address>
          <address id="7actg"></address>
          1. <object id="7actg"><tt id="7actg"></tt></object>
            国产成人毛片无码视频不卡 | 和漂亮的女老板做爰 | 欧美日韩成人电影一区 | 国产精品诱惑 | 四虎色播| 日日操日日操 | 办公室玉臀娇吟刘诗诗 | 伦理<禁忌9 | 国产插逼视频 | 欧美z○zo变态重口另类黄 |