go - 点运算符如何在结构与指向结构的指针上工作?
问题描述
这可能是 Go 的基础。点运算符如何.
在结构与指向结构的指针上工作?
type cc struct {
x int
}
func main() {
obj := cc{x:2}
ptr := &cc{x:3}
fmt.Printf("Hello, %v\n", obj.x) // Hello, 2
fmt.Printf("Hello, %v\n", ptr.x) // Hello, 3
}
在上述两种情况下,它如何能够访问该字段?
解决方案
编译器会自动为指针接收器添加必要的间接寻址。因此,ptr.x
与(*ptr).x
推荐阅读
- arcgis-js-api - ArcGIS Javascript API 4.14 弹出字段属性未显示
- html - CSS:字体大小不准确吗?
- android - RealmChangeListener 不适用于第一次安装。为什么?
- c - 在C中的句子中查找字符串的最后一次出现
- mysql - 选择具有提供的唯一值的行 ID
- python - 如何使用python将像素列表转换为图像
- xml - 如何在保持结构的同时使用 xslt 重新排序 xml 文件
- swift - SwiftUI Mac OSX 搜索栏元素
- python - 带有 Plotly dash 的网格仪表板
- php - SQL 按 id 列表过滤