验证码: 看不清楚,换一张 查询 注册会员,免验证
  • {{ basic.site_slogan }}
  • 打开微信扫一扫,
    您还可以在这里找到我们哟

    关注我们

go语言中的[]*int和*[]int怎么使用

阅读:742 来源:乙速云 作者:代码code

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]

分享到:
*特别声明:以上内容来自于网络收集,著作权属原作者所有,如有侵权,请联系我们: hlamps#outlook.com (#换成@)。
相关文章
{{ v.title }}
{{ v.description||(cleanHtml(v.content)).substr(0,100)+'···' }}
你可能感兴趣
推荐阅读 更多>