<kbd id="afajh"><form id="afajh"></form></kbd>
<strong id="afajh"><dl id="afajh"></dl></strong>
    <del id="afajh"><form id="afajh"></form></del>
        1. <th id="afajh"><progress id="afajh"></progress></th>
          <b id="afajh"><abbr id="afajh"></abbr></b>
          <th id="afajh"><progress id="afajh"></progress></th>

          來了!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

          針對這份手冊,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)贊
          評論
          收藏
          分享

          手機(jī)掃一掃分享

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

          手機(jī)掃一掃分享

          分享
          舉報(bào)
          <kbd id="afajh"><form id="afajh"></form></kbd>
          <strong id="afajh"><dl id="afajh"></dl></strong>
            <del id="afajh"><form id="afajh"></form></del>
                1. <th id="afajh"><progress id="afajh"></progress></th>
                  <b id="afajh"><abbr id="afajh"></abbr></b>
                  <th id="afajh"><progress id="afajh"></progress></th>
                  亚洲天堂av免费在线 | 无码免费一区二区三区免费播放 | 午夜试看120秒体验区的特点 | 一个人看的区二区不卡视频 | 国产精品一卡 |