【发布时间】:2018-05-07 16:13:27
【问题描述】:
这是一个我不太明白的 Go 代码示例:
type MyClass struct {
field1 string
field2 string
}
...
objectinstance1 := MyClass{field1:"Hello", field2:"World"}
objectinstance2 := &MyClass{field1:"Hello", field2:"World"}
我可以用相同的语法对objectinstance1 和objectinstance2(例如方法调用)做完全相同的事情。
所以我不明白 & 运算符的作用。我的理解是objectinstance1 包含一个对象,而objectinstance2 包含一个指针。
对我来说,在 C 语言中与 char 和 char* 之间的区别是一样的。
但在这种情况下,我应该使用 -> 而不是 . (点)?
【问题讨论】:
-
附带说明:在 Go 中,没有对象的概念。
struct != object,详见spf13.com/post/is-go-object-oriented
标签: go