go语言如何删除切片


本文摘自php中文网,作者藏色散人,侵删。

go语言删除切片的方法:首先创建一个go示例文件;然后声明变量;最后通过“ss=append(ss[:index],ss[index+1:]...)print("after delete",ss)”方式删除切片元素即可。

本教程操作环境:Windows7系统、Go1.14版,Dell G3电脑。

1.声明变量,go自动初始化为nil,长度:0,地址:0,nil

1

2

3

4

5

6

7

8

9

10

func main(){

    var ss []string;

    fmt.Printf("length:%v \taddr:%p \tisnil:%v",len(ss),ss, ss==nil)   

}

  

---

Running...

  

length:0     addr:0x0     isnil:true

Success: process exited with code 0.

2.切片的追加,删除,插入操作

1

2

3

4

5

6

7

8

9

10

11

12

13

14

15

16

17

18

19

20

21

22

23

24

25

26

27

28

29

30

31

32

33

34

35

36

func main(){

    var ss []string;

    fmt.Printf("[ local print ]\t:\t length:%v\taddr:%p\tisnil:%v\n",len(ss),ss, ss==nil)   

    print("func print",ss)

    //切片尾部追加元素append elemnt

    for i:=0;i<10;i++{

        ss=append(ss,fmt.Sprintf("s%d",i));

    }

    fmt.Printf("[ local print ]\t:\tlength:%v\taddr:%p\tisnil:%v\n",len(ss),ss, ss==nil)   

    print("after append",ss)

    //删除切片元素remove element at index

    index:=5;

    ss=append(ss[:index],ss[index+1:]...)

    print("after delete",ss)

    //在切片中间插入元素insert element at index;

    //注意:保存后部剩余元素,必须新建一个临时切片

    rear:=append([]string{},ss[index:]...)

    ss=append(ss[0:index],"inserted")

    ss=append(ss,rear...)

    print("after insert",ss)

}

func print(msg string,ss []string){

    fmt.Printf("[ %20s ]\t:\tlength:%v\taddr:%p\tisnil:%v\tcontent:%v",msg,len(ss),ss, ss==nil,ss)   

    fmt.Println()

}

------

Running...

  

[ local print ]    :     length:0    addr:0x0    isnil:true

[           func print ]    :    length:0    addr:0x0    isnil:true    content:[]

[ local print ]    :    length:10    addr:0xc208056000    isnil:false

[         after append ]    :    length:10    addr:0xc208056000    isnil:false    content:[s0 s1 s2 s3 s4 s5 s6 s7 s8 s9]

[         after delete ]    :    length:9    addr:0xc208056000    isnil:false    content:[s0 s1 s2 s3 s4 s6 s7 s8 s9]

[         after insert ]    :    length:10    addr:0xc208056000    isnil:false    content:[s0 s1 s2 s3 s4 inserted s6 s7 s8 s9]

  

Success: process exited with code 0.

推荐:《go语言教程

以上就是go语言如何删除切片的详细内容,更多文章请关注木庄网络博客!!

相关阅读 >>

Go语言如何获取时间戳

我的第一个go程序:hello.go

Go语言常用命令有哪些

Go语言有什么优点?

Go语言int转string的方法

Go语言相对于c/c++有什么优势

Go语言异常处理的方法介绍

Go语言make的用法有哪些

Go语言 if 语句

mac下怎么安装Go语言

更多相关阅读请进入《Go语言》频道 >>




打赏

取消

感谢您的支持,我会继续努力的!

扫码支持
扫码打赏,您说多少就多少

打开支付宝扫一扫,即可进行扫码打赏哦

分享从这里开始,精彩与您同在

评论

管理员已关闭评论功能...