大部分语言中都有一下两种变量类型
1. 值变量
值变量储存的是变量的值,在作为函数传递的时候,是会拷贝的,对实参的修改,实际上是对拷贝的修改,不会改变原变量
2.引用变量
引用变量存储的是变量的地址(在没有指针的语言中,可以把它理解为指针),作为函数传递的时候,是不会拷贝的,对实参的修改,直接会改变原变量
总结:
1.struct 是值变量,所以作为参数会拷贝,修改实参并不会影响原参数,这时候如果需要修改原值,必须传递指针(引用变量)
2.在许多语言中都存在 值变量和引用变量,都会出现上诉问题,比较常见的是深拷贝和浅拷贝的问题
1. 值变量
值变量储存的是变量的值,在作为函数传递的时候,是会拷贝的,对实参的修改,实际上是对拷贝的修改,不会改变原变量
2.引用变量
引用变量存储的是变量的地址(在没有指针的语言中,可以把它理解为指针),作为函数传递的时候,是不会拷贝的,对实参的修改,直接会改变原变量
总结:
1.struct 是值变量,所以作为参数会拷贝,修改实参并不会影响原参数,这时候如果需要修改原值,必须传递指针(引用变量)
2.在许多语言中都存在 值变量和引用变量,都会出现上诉问题,比较常见的是深拷贝和浅拷贝的问题
2018-11-09
说多个括号的有点搞笑哦, fmt.Printf("用解释型字符串表示法表示的 %q 所代表的是 %s。\n", str1, (`\"`))
2018-11-04