美文网首页
指针与值类型的传递区别

指针与值类型的传递区别

作者: 领带衬有黄金 | 来源:发表于2019-12-11 10:08 被阅读0次

代码:

package main

import "fmt"

func add(a int) {
// 此处传递后,会进行拷贝值,并且没有返回值接收,所以该处变量为局部变量
    a++
}

func add1(a *int) {
// 传递的是地址,然后将值取出,并加1,所以原值会发生改变
    *a++
}

func main() {
    a := 10
    add(a)                // 值类型
    fmt.Printf("a=%d", a) // 10
    add1(&a)              // 指针类型
    fmt.Printf("a=%d", a) // 11
}

相关文章

网友评论

      本文标题:指针与值类型的传递区别

      本文链接:https://www.haomeiwen.com/subject/bfcogctx.html