studygolang的这段代码有点看不懂啊

guotie · · 3221 次点击
谢谢您的回复,代码写的真好
#3
更多评论
polaris
社区,需要你我一同完善!
你应该是不明白Buffer: new(bytes.Buffer)吧。内嵌结构,可以通过类型引用成员。 func NewBuffer() *Buffer { return &Buffer{Buffer: new(bytes.Buffer)} } 这里 Buffer: new(bytes.Buffer) 中的 Buferr 是 type Buffer struct { *bytes.Buffer } 结构的成员:*bytes.Buffer 可能名字取得,让你混淆了。如果这样,不知道你会不会理解: type MyBuffer struct { *bytes.Buffer } func NewMyBuffer() *MyBuffer { return &MyBuffer{Buffer: new(bytes.Buffer)} }
#1
不是名字。 之前是不明白{Buffer: new(bytes.Buffer)}: - MyBuffer中使用了内嵌成员bytes.Buffer, 而可以使用Buffer作为MyBuffer的成员名来访问它 - 初次接触,这种赋值语法不清楚
#2