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')的信息。