知識(shí)分享之Golang——Golang中切片的一些增加、刪除、添加、遍歷刪除

知識(shí)分享之Golang——Golang中切片的一些增加、刪除、添加、遍歷刪除

背景

知識(shí)分享之Golang篇是我在日常使用Golang時(shí)學(xué)習(xí)到的各種各樣的知識(shí)的記錄,將其整理出來(lái)以文章的形式分享給大家,來(lái)進(jìn)行共同學(xué)習(xí)。歡迎大家進(jìn)行持續(xù)關(guān)注。

知識(shí)分享系列目前包含Java、Golang、Linux、Docker等等。

開(kāi)發(fā)環(huán)境

  • 系統(tǒng):windows10
  • 語(yǔ)言:Golang
  • golang版本:1.17

內(nèi)容

本節(jié)我們進(jìn)行分享Golang中切片的一些增加、刪除、添加、遍歷刪除等操作,以下為本次的測(cè)試案例

package main

import (
    "fmt"
)

func main() {
    var ss []string
    fmt.Printf("初始切片:%v \n", ss)
    //切片尾部追加元素append elemnt
    for i := 0; i < 5; i++ {
        ss = append(ss, fmt.Sprintf("測(cè)試%d", i))
    }
    fmt.Printf("追加元素:%v \n", ss)
    //刪除切片元素remove element at index
    index := 3
    ss = append(ss[:index], ss[index+1:]...)
    fmt.Printf("刪除元素:%v \n", ss)
    //在切片中間插入元素insert element at index;
    //注意:保存后部剩余元素,必須新建一個(gè)臨時(shí)切片
    rear := append([]string{}, ss[index:]...)
    ss = append(ss[0:index], "插入項(xiàng)")
    ss = append(ss, rear...)
    fmt.Printf("中間插入元素:%v \n", ss)
}

案例2:遍歷刪除,重點(diǎn)在于len(ageList)長(zhǎng)度一直是變化的,同時(shí)當(dāng)某個(gè)元素被刪除時(shí)循環(huán)下標(biāo)不發(fā)生改變,這樣可以有效防止前一次移動(dòng)過(guò)來(lái)的對(duì)象被忽略掉

    tt := []int{1, 2, 3, 4, 5, 6, 7, 8, 9, 10}
    for i := 0; i < len(tt); {
        if tt[i] < 5 {
            tt = append(tt[:i], tt[i+1:]...)
        } else {
            // 大于等于5則進(jìn)入下一個(gè)
            i++
        }
    }
    fmt.Printf("大于5的部分被保留了下來(lái):%v", tt)

參考文獻(xiàn):

https://studygolang.com/articles/16223
https://blog.csdn.net/whatday/article/details/98244776

本文聲明:

88x31.png

知識(shí)共享許可協(xié)議
本作品由 cn華少 采用 知識(shí)共享署名-非商業(yè)性使用 4.0 國(guó)際許可協(xié)議 進(jìn)行許可。

?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時(shí)請(qǐng)結(jié)合常識(shí)與多方信息審慎甄別。
平臺(tái)聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡(jiǎn)書(shū)系信息發(fā)布平臺(tái),僅提供信息存儲(chǔ)服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

友情鏈接更多精彩內(nèi)容