假设我想传递一个指向函数的指针并通过这样做更改该指针指向的结构的值。我通常会通过取消引用指针来做到这一点:
type Test struct { Value int}
func main() {
var i Test = Test {2}
var p *Test = &i
f(p)
println(i.Value) // 4
}
func f(p *Test) {
*p = Test{4}
}
我的问题是,为什么这段代码不会改变值
type Test struct { Value int}
func main() {
var i Test = Test {2}
var p *Test = &i
f(p)
println(i.Value) // 2
}
func f(p *Test) {
// ?
p = &Test{4}
}
而这个:
type Test struct { Value int}
func main() {
var i Test = Test {2}
var p *Test = &i
f(p)
println(i.Value) // 4
}
func f(p *Test) {
p.Value = 4
}
慕妹3242003
如何在 Go 中获取指向 Interface{} 底层值的指针
jsp中怎么把网页中获取的值传递到jsp中
在Java中数组是通过值传递还是通过引用传递?
是不是vue中也可以使用react这种通过props传递函数来实现子到父的传值
相关分类