fmt 包

从 hello world 开始使用频率最高最常用的 fmt.Println 开始切入,逐层由外向内剖析

打印函数默认输出到系统的标准输出即 os.Stdout ,鉴于包中有更通用的 Fprintln ,因此猜测 Println 其实就是默认传 os.Stdout 作为 WriterFprintln,仔细一看果然如此

print.go

func Println(a ...interface{}) (n int, err error) {
	return Fprintln(os.Stdout, a...)
}