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]

原创文章,作者:UAKGP,如若转载,请注明出处:https://www.beidanyezhu.com/a/31018.html

(0)
UAKGP的头像UAKGP
上一篇 2025-02-23
下一篇 2025-02-25

相关推荐

  • 第7期(语言优美的句子)

    2022-03-12 星期六 虎 壬寅年 二月初十 【语录集锦】 亲情 满地都是金黄的梧桐叶,街上没有多少行人,你我走在回家的路上,只不过没有你,我想你了。 友情有一种朋友,距离再…

  • 爱孩子的五种语言(对儿女的爱的句子)

    查普曼博士提出了五种爱的语言——肯定的言辞、精心的时刻、接受礼物、服务的行动和身体的接触。这本书里主要是用于夫妻之间的爱语,其实家长和孩子的也是这样的五种爱语。 著名婚姻家庭专家盖…

  • 语言发育迟缓康复干货(语言发育迟缓怎么做康复训练)

    家有语言发育迟缓宝宝,最难的是什么吗? 语言发育迟缓宝宝训练有多难!最难的就是不能说话,不理解别人说话,早期发现时,多处于2-3岁,且行为能力有限,多数具有智力障碍和社交障碍,很多…

  • 语言(逅怎么读)

    引 言吴语是汉语族的一个重要分支,分布在江苏南部、浙江省大部、上海市全境,安徽南部及福建、江西的小部分地区。学术界将其分爲太湖片、台州片、东瓯片、婺州片、处衢片、宣州片六个小片。其…

  • 语言的谋略(洛邑怎么读)

    第十七辑 国家政策辩论的谋略与技巧文/钟百超 每个人对一定事物或做法都有自己的主见,而这个主见的形成与个人的信仰、理念、知识、修养,乃至利益都有密切相关。一个人能否提出一个有利于国…

  • Go语言中除法运算的效率怎么提高

    近年来,Go语言在程序员中的人气越来越高,在高并发场景下的优势尤为突出。作为一门强调高效率的语言,Go语言的性能一直 在计算机科学中,除法运算是一种非常常见的运算。在Go语言中,最…

  • 怎么使用Go语言实现数据转发功能

    首先,我们需要考虑数据实体的格式。在许多情况下,使用JSON格式最为方便。Go语言中有一个标准库“encoding/json”可以提供JSON编解码功能。我们可以使用它来将我们的数…

  • 怎么以正确的方式替换Go语言程序自身

    Go语言是一门越来越受欢迎的编程语言,其致力于简化开发过程并提高编译速度。与其他编程语言相比,Go语言具有更好的并发性和易读性。在Go语言中,替换自己是一个常见的模式。在此文中,我…

  • Go语言中interface类型怎么使用

    Go语言中interface类型的定义 在Go语言中,interface类型是一个抽象的类型,它是一组方法签名的集合,只要某个类型实现了这些方法,它就属于该interface类型。…

  • Go语言中怎么实现代码跳转

    一、基本概念 在Go语言中,代码跳转是指从一个位置跳转到另一个位置。一般而言,我们可以通过函数调用进行代码跳转,也可以通过goto语句进行跳转。不同的跳转方式有不同的适用场景。 二…

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

分享本页
返回顶部