登录
首页 >  Golang >  Go教程

Go 语言中数组指针作为参数传递时,如何影响原数组?

时间:2024-12-15 15:31:10 358浏览 收藏

哈喽!今天心血来潮给大家带来了《Go 语言中数组指针作为参数传递时,如何影响原数组?》,想必大家应该对Golang都不陌生吧,那么阅读本文就都不会很困难,以下内容主要涉及到,若是你正在学习Golang,千万别错过这篇文章~希望能帮助到你!

Go 语言中数组指针作为参数传递时,如何影响原数组?

理解 go 语言中数组指针作为参数的传递机制

go 语言允许以数组指针的方式传递数组参数,这将对原数组产生不同的影响。下面我们将逐一分析此代码片段中的各个函数。

update1

func update1(a [3]int) {
    a[1] = 1
}

update1 接收的是一个数组副本。对该副本的修改不会影响原数组。

update2

func update2(p *[3]int) {
    a := *p
    a[1] = 2
}

update2 接收的是数组指针。但是,a := *p 也会创建一个数组副本。因此,对该副本的修改也不会影响原数组。

update3

func update3(p *[3]int) {
    (*p)[1] = 3
}

update3 接收的是数组指针,并且直接修改指向的数组。因此,对数组的修改会影响原数组。

update4

func update4(p *[3]int) {
    p[1] = 4
}

update4 实际上相当于 update3 的语法糖,同样是对数组指针的直接修改,从而影响原数组。

今天带大家了解了的相关知识,希望对你有所帮助;关于Golang的技术知识我们会一点点深入介绍,欢迎大家关注golang学习网公众号,一起学习编程~

相关阅读
更多>
最新阅读
更多>
课程推荐
更多>