美文网首页
go切片操作

go切片操作

作者: sjyu_eadd | 来源:发表于2021-07-07 14:16 被阅读0次
    s1 := []int{1, 2, 3, 4, 5} //短操作符声明 len为4,cap为4
    s2 := make([]int, 2, 4)    //make语法声明 ,len为2,cap为4
    s2 = []int{5, 6}

    s3 := append(s2, 7) //append一个元素
    fmt.Println(s3, s2) //[5 6 7] [5 6]
    s2[0] = 0
    fmt.Println(s3, s2) //[5 6 7] [0 6]

    s4 := append(s2, s1...) //append  一个切片所有的元素
    fmt.Println(s4)         //[0 6 1 2 3 4 5]

    //return
    copy(s1, s2)    //  复制,用s2的元素填充s1里去,改变原slice,覆盖对应的key
    fmt.Println(s1) //[0 6 3 4 5]

    s1[0], s1[1] = 1, 2
    copy(s2, s1)
    fmt.Println(s2) //[1 2] 目标slice len不够时,只填满len

    s5 := s1[1:4]
    s5[0] = 10
    s6 := s5[0:4] //不会报错,因为cap为4,从底层取得最后一位

    fmt.Println(s1, s5, s6, cap(s6)) //[1 10 3 4 5] [10 3 4] [10 3 4 5] 4

    //删除第三个元素
    s7 := append(s1[:2], s1[3:]...)
    fmt.Println(s7) //[1 10 4 5]

相关文章

  • go切片操作

  • go和python切片的不同

    go有切片slice类型,python有列表和元组,这两种语言都有切片操作。但是它们的切片操作是完全不同的。首先说...

  • Go语言切片

    // //Go语言切片 // /* // go语言切片是对数组的抽象 // Go 数组的长度不可改变,在特定场景中...

  • slice

    切片的当前长度和最大容量 切片的扩容算法和内存对齐机制 一般而言,切片是一种操作,切分后获取新的数据对象。但Go中...

  • 第03天(复合类型)_03

    13_数组做函数参数.go 14_数组指针做函数参数.go 15_切片的长度和容量.go 16_切片的创建.go ...

  • 15.Go_Slice(切片)

    Go 切片 定义切片 切片初始化 len()和cap()函数 空(nil)切片 切片拦截 append() 和co...

  • 【golang】切片添加和删除一个元素

    前言 在做leetcode熟悉语法的时候,需要对一个切片进行操作。删除操作还好,go圣经有提到,但是增加元素就让我...

  • 七、Go切片

    七、Go语言切片(Slice) Go 语言切片是对数组的抽象。 Go 数组的长度不可改变,在特定场景中这样的集合就...

  • golang系列教程

    Go包管理 Go开发工具 Go Doc 文档 Go 数组 Go 切片 Go Map Go 类型 Go 函数方法 G...

  • go切片

    1.go切片实现 具体实现请参考下面的文章Go 切片:用法和本质总结如下: 切片可以看做一个结构体,包含len,c...

网友评论

      本文标题:go切片操作

      本文链接:https://www.haomeiwen.com/subject/uqboultx.html