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

本文主要介绍了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内容请搜索0133技术站以前的文章或继续浏览下面的相关文章希望大家以后多多支持0133技术站!

以上就是go语言中[]*int和*[]int的具体使用的详细内容,更多请关注0133技术站其它相关文章!

赞(0) 打赏
未经允许不得转载:0133技术站首页 » 其他教程