Golang 如何判断变量是值类型还是引用类型

目录


    下面方法在任何语言都适用。

    package main
    
    import "fmt"
    
    /*
    1.创建函数
    2.传参
    3.数据更改观察结果
    */
    
    func main() {
    	var (
    		a int = 10	//整形
    		b *int		//指针
    		c int = 20
    	)
    	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++	//自增,指针类型影响源
    }
    
    // 结果:a 没有变化,值类型;b 结果变化,引用类型。
    处理前 a = 10
    处理前 *b= 20
    处理后 a = 10
    处理后 *b= 21
    

    https://www.cnblogs.com/xiaoxi-jinchen/p/14765938.html


    posted @ 2022-03-29 14:07  公博义  阅读(135)  评论(0编辑  收藏  举报