go语言中[]*int和*[]int的具体使用

 更新时间:2023年04月19日 15:48:55   作者:别人家的孩子zyh  
本文主要介绍了go语言中[]*int和*[]int的具体使用,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧

[]*int是一个指向指针的切片,本质上是切片,只不过切片里面存放的元素是指针;
*[]int是一个指向切片的指针,本质上是指针,可以用*来获取切片;

简易记法:从右往左读,最后一个符号是[],说明是切片,倒数第二个符号是*说明切片里是指针;从右往左读,最后一个符号是*,说明是指针,倒数第二个符号是[]说明指针指向一个切片类型。

对于[]*int,可以使用for _, ptr := range slice获得切片里面的指针,并通过*ptr得到切片里的元素(本质上是指针/地址)对应的值。
对于*[]int,可以使用*slice获得整个切片。

[]*int

func main() {
    var a = 1
    var b = 2
    var slice []*int
    slice = append(slice, &a)
    slice = append(slice, &b)
    for _, ptr := range slice {
        fmt.Print(*ptr, " ")
    }
}

输出:1 2 

*[]int

func main() {
    var a = 1
    var b = 2
    var slice *[]int
    arr := []int{a, b}
    slice = &arr
    fmt.Println(*slice)
}

输出:[1 2]

到此这篇关于go语言中[]*int和*[]int的具体使用的文章就介绍到这了,更多相关go语言 []*int和*[]int内容请搜索脚本之家以前的文章或继续浏览下面的相关文章希望大家以后多多支持脚本之家!

相关文章

  • 深入解析Go 变量字符串与字符编码问题

    深入解析Go 变量字符串与字符编码问题

    Go的字符串是由单个字节连接起来的,Go语言的字符串的字节使用UTF-8编码标识Unicode文本,接下来通过本文给大家介绍下Go变量字符串与字符编码问题,需要的朋友可以参考下
    2022-04-04
  • 用Go+Redis实现分布式锁的示例代码

    用Go+Redis实现分布式锁的示例代码

    在分布式的业务中 , 如果有的共享资源需要安全的被访问和处理 , 那就需要分布式锁,本文主要介绍了用Go+Redis实现分布式锁的示例代码,感兴趣的可以了解一下
    2021-12-12
  • 让Go反射变快的方法实例探究

    让Go反射变快的方法实例探究

    反射允许你在运行时获得有关 Go 类型的信息,如果你曾经愚蠢地尝试编写 json.Unmarshal 之类的新版本,本文将探讨的就是如何使用反射来填充结构体值
    2024-01-01
  • Golang通脉之类型定义

    Golang通脉之类型定义

    这篇文章主要介绍了Golang通脉之类型定义,在Go语言中有一些基本的数据类型,如 string 、 整型 、 浮点型 、 布尔 等数据类型, Go语言中可以使用 type 关键字来定义自定义类型,下面和小编一起进入文章看具体内容吧
    2021-10-10
  • golang中"var"与":="的区别解析

    golang中"var"与":="的区别解析

    这篇文章主要介绍了golang中“var”与“:=”的区别,使用var关键字是Go最基本的定义变量方式,有时也会使用到:=来定义变量,本文给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,需要的朋友可以参考下
    2023-04-04
  • 基于Golang实现延迟队列(DelayQueue)

    基于Golang实现延迟队列(DelayQueue)

    延迟队列是一种特殊的队列,元素入队时需要指定到期时间(或延迟时间),从队头出队的元素必须是已经到期的。本文将用Golang实现延迟队列,感兴趣的可以了解下
    2022-09-09
  • golang使用swagger的过程详解

    golang使用swagger的过程详解

    这篇文章主要介绍了golang使用swagger的过程详解,本文给大家介绍的非常详细,感兴趣的朋友跟随小编一起看看吧
    2024-06-06
  • GO语言实现文件上传代码分享

    GO语言实现文件上传代码分享

    本文给大家分享的是一则使用golang实现文件上传的代码,主要是使用os.Create创建文件,io.Copy来保存文件,思路非常清晰,这里推荐给大家,有需要的小伙伴参考下吧。
    2015-03-03
  • Go语言实现的树形结构数据比较算法实例

    Go语言实现的树形结构数据比较算法实例

    这篇文章主要介绍了Go语言实现的树形结构数据比较算法,实例分析了树形结构数据比较算法的实现技巧,具有一定参考借鉴价值,需要的朋友可以参考下
    2015-02-02
  • Go语言基本的语法和内置数据类型初探

    Go语言基本的语法和内置数据类型初探

    这篇文章主要介绍了Go语言基本的语法和内置数据类型,是golang入门学习中的基础知识,需要的朋友可以参考下
    2015-10-10

最新评论