const 在 go 中的使用可以理解为是var语法一样,不同的是语义一个是常量,一个是变量。
pointer在go中并不能指向常量,以下代码是错误的。
const i1 int = 5
const ptr *int = &i1
所以不需要考虑在c和c++中的类似
char const *p1 // p1 指向的变量是常量
char *const p2 // p2 本身是常量
const char *p3 // p3 指向的变量是常量
这种语法的区别了,因为go传递的都是值语义,因此go中的指针最大的作用就是增加传变量时候传递地址,来达到传递引用的效果。
网友评论