https://www.kancloud.cn/kancloud/the-way-to-go/72679
例题
func getMsg() (msg string) { reader := bufio.NewReader(os.Stdin) if err != nil { fmt.Println(err.Error()) } return }
简要概括:
reader 是一个指针,因为bufio.NewReader() 构造函数的接口是 func NewReader(rd io.Reader) *Reader
(*Reader,从这里可以看出)
1. reader := bufio.NewReader(os.Stdin) 的时候创建了一个读取器
2.msg, err := reader.ReadString('\n')ReadString(delim byte)是一个方法。
读取到delim字符后结束,并且返回error=nil给err。
所以msg得到的是os.Stdin输入的字符串加上('\n')换行。(切记)
最后返回msg,对应函数名称,获得了Msg+('\n')的信息。