作者回复: 说白了就是用于表示值或者类型的代码段。比如:1234就是代表整数值的字面量,int64就是代表类型的字面量。很简单,不用想的太复杂。
作者回复: 你最好不要这么理解,否则会影响其他地方的理解。引用类型的值不是指针那么简单,它本身是有结构的,所以还是要按普通的值来理解,不要理解成指针。
作者回复: 没有非得使用的必要。指针类型及其值最常用,因为可以达到传址的效果。
作者回复: 1. Go 语言没有常量区这个概念。
2. 你要分清楚变量和值啊。变量本身的存储中包含了值,但不限于值。变量可以拥有或者代表一个值,但是它本身并不是值啊。
3. 你无法获取值 "123" 和 "456" 本身的存储地址,因为 Go 语言规范规定这样的值本身是不可取址的。
你可以参考 Go 运行时系统中对 string 结构的定义:
type stringStruct struct {
str unsafe.Pointer
len int
}
这个声明所在文件的路径是:/src/runtime/string.go 。
作者回复: 这个是基本的规则,哪个版本都是一样的。
作者回复: 加油!
作者回复: 在Go需要中所谓的指针的指针最好不要用,Go也是想避免这种复杂性才搞出来引用类型的。
作者回复: 我没说过“值指针”这个词。“引用类型的值的指针值”的含义你不理解还是?
作者回复: 不知道?不知道就没法取了。