```go
package main
import (
"bufio"
"fmt"
"os"
)
func main() {
fmt.Println("Please input your name:")
inputReader := bufio.NewReader(os.Stdin)
input, err := inputReader.ReadString('\n')
if err != nil {
fmt.Println("There ware errors reading,exiting program.")
os.Exit(1)
} else {
input = input[:len(input)-1]
fmt.Printf("Hello, %s!\n", input) //这里输出时,%s后面的叹号会跑到第一个去
}
}
```
程序运行:
Please input your name:
aaa //输入aaa
!ello, aaa //程序响应,应该是Hello,aaa!,但是!却覆盖了H,这是为什么?
发现问题了。。
使用%#v代替%s,会输出aaa\r,这个自动在我的换行符那里加了个\r
用input = input[:len(input)-2]问题修复!
有疑问加站长微信联系(非本文作者))