type Buffer struct {
*bytes.Buffer
}
func NewBuffer() *Buffer {
return &Buffer{Buffer: new(bytes.Buffer)}
}
NewBuffer函数谁来讲一下?
更多评论
你应该是不明白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