GO ----如何判断值类型和引用类型

 如何判断值类型和引用类型

1:建立函数

2:把进行传参处理

3:观察函数处理结果是否影响值的变化

判断:有变化是引用类型,没有变化是值类型

示例:int是值类型---指针是引用类型

package main
​
import "fmt"
​
//值类型和引用类型
//1,创建函数
//2,传参
//3,有变化是引用类型,无变化是值类型
func main() {
    var (
        a int = 10
        c int = 20
        b *int
    )
    b = &c
    fmt.Println("处理前a=", a)
    fmt.Println("处理前*b=", *b)
    test(a, b)
    fmt.Println("处理后a=", a)
    fmt.Println("处理后*b=", *b)
}
​
//测试函数
func test(a int, b *int) {
    a++
    *b++
}
[Running] go run "f:\goProject\src\dev_code\day12\example1\main\main.go"
处理前a= 10
处理前*b= 20
处理后a= 10     //int是值类型
处理后*b= 21    //指针是引用类型
​
[Done] exited with code=0 in 0.454 seconds

示例:数组:go中数组是值类型

package main
​
import "fmt"
​
//值类型和引用类型
//1,创建函数
//2,传参
//3,有变化是引用类型,无变化是值类型
func main() {
    arr := [3]int{1, 2, 3}
    fmt.Println(arr)
    test(arr)
    fmt.Println(arr)
}
//测试函数
func test(arr [3]int) {
    for i := 0; i < len(arr); i++ {
        arr[i]++
    }
}
[Running] go run "f:\goProject\src\dev_code\day12\example1\main\main.go"
[1 2 3]   //go中数组是值类型
[1 2 3]
​
[Done] exited with code=0 in 0.457 seconds
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值