看到一段代码 :
func main() {
var b bytes.Buffer
fmt.Fprint(&b, "Hello World")
var w io.Writer
w = &b
fmt.Println(w)
}
跟随到 fmt.Fprint
type Writer interface {
Write(p []byte) (n int, err error)
}
func Fprint(w io.Writer, a ...interface{}) (n int, err error) {
p := newPrinter()
p.doPrint(a)
n, err = w.Write(p.buf)
p.free()
return
}
为什么这里需要传指针?
不是有 *
符号的时候才需要指针吗?有点懵.
这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。
V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。
V2EX is a community of developers, designers and creative people.