脚本之家,脚本语言编程技术及教程分享平台!
分类导航

Python|VBS|Ruby|Lua|perl|VBA|Golang|PowerShell|Erlang|autoit|Dos|bat|

服务器之家 - 脚本之家 - Golang - Go语言里切片slice的用法介绍

Go语言里切片slice的用法介绍

2022-07-16 19:50奋斗的大橙子 Golang

这篇文章介绍了Go语言里切片slice的用法,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧

1.切片是基于数组做的一层封装,灵活能够自动扩容。

2.切片的初始化方法

①直接创建

Go语言里切片slice的用法介绍

②基于已有的数组或切片

Go语言里切片slice的用法介绍

③使用make来创建一个切片

Go语言里切片slice的用法介绍

第一个5是切片的大小

第二个5是切片的容量

3.基本操作

①获取元素

Go语言里切片slice的用法介绍

②增加元素append

当达到底层的最大容量,切片会进行扩容,扩容的策略是翻倍扩容。

下图说明扩容之后,地址也变化了。

Go语言里切片slice的用法介绍

4.切片的修改

和数组(值传递)不一样,切片相当于是一个引用传递。

Go语言里切片slice的用法介绍

5.如果计算切片的容量?

例如:b切片的长度和容量是多少?

Go语言里切片slice的用法介绍

答案: 长度为2 容量为7

详细可以参考下面图,a、b共用底层切片,但是b是从1开始的,长度为3-1 =2,容量为a其他的底层

Go语言里切片slice的用法介绍

6.切片后面追加切片

func AppendSlice(){
     slice1 := []int{1,2,3}
     slice2 := []int{3,3,6}
 
     slice1 = append(slice1,slice2... )
 
    for _, value := range slice1 {
        fmt.Println("value的地址",value)
    }
 
}

注意一下 append(slice1,slice2... ) 这个...定义就是把slice2展开,放到slice1后面。

到此这篇关于Go语言切片slice的文章就介绍到这了。希望对大家的学习有所帮助,也希望大家多多支持服务器之家。

原文地址:https://www.cnblogs.com/dcz2015/p/10578353.html

延伸 · 阅读

精彩推荐
  • GolangGo工程化如何在整洁架构中使用事务?

    Go工程化如何在整洁架构中使用事务?

    事务的能力是在 repo 上提供的,所以我们需要在 repo 层提供一个事务接口,然后在 usecase 中进行调用,保证是事务执行的就行。...

    mohuishou11202021-12-28
  • GolangGo实现Redis连接池方法

    Go实现Redis连接池方法

    为了更深入了解golang连接池的实现,自已又重写了一遍连接池。文中通过示例代码介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们可以参考一下...

    ReganYue9702021-09-15
  • GolangGolang 语言极简类型转换库 Cast

    Golang 语言极简类型转换库 Cast

    本文我们介绍类型转换三方库 - github.com/spf13/cast,它是一个极简类型转换的三方库,通过它提供的函数,可以方便我们进行类型转换,极大提升我们的开发...

    Golang语言开发栈6992021-11-15
  • Golang解决golang结构体tag编译错误的问题

    解决golang结构体tag编译错误的问题

    这篇文章主要介绍了解决golang结构体tag编译错误的问题,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧...

    songzhaorong11832021-06-14
  • GolanggoLang引入自定义包的方法

    goLang引入自定义包的方法

    今天小编就为大家分享一篇goLang引入自定义包的方法,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧 ...

    Gavin_new22352020-05-26
  • Golanggolang 获取当前执行程序路径的操作

    golang 获取当前执行程序路径的操作

    这篇文章主要介绍了golang 获取当前程序执行路径的操作,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧...

    whatday12942021-03-02
  • GolangGo语言的os包中常用函数初步归纳

    Go语言的os包中常用函数初步归纳

    这篇文章主要介绍了Go语言的os包中常用函数初步归纳,用于一些和系统交互功能的实现,需要的朋友可以参考下 ...

    脚本之家5542020-04-27
  • Golanggo原生库的中bytes.Buffer用法

    go原生库的中bytes.Buffer用法

    这篇文章主要介绍了go原生库的中bytes.Buffer用法,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧...

    qauzy11722021-05-29