终端输入与预期结果不符

终端输入与预期结果不符,第1张

终端输入与预期结果不符

func(* Reader)ReadString

func (b *Reader) ReadString(delim byte) (string, error)

ReadString读取直到输入中第一次出现delim为止,并返回一个字符串,其中包含直到定界符(包括定界符)的数据。


name
终端输入包括尾随换行符。例如,

package mainimport (    "bufio"    "fmt"    "os")func main() {    reader := bufio.NewReader(os.Stdin)    fmt.Print("Enter name:")    name, err := reader.ReadString('n')    if err != nil {        panic(err)    }    fmt.Printf("%qn", name)    fmt.Println(name == "nixon")}

输出(Linux):

Enter name:nixon"nixonn"false

输出(Windows):

Enter name:nixon"nixonrn"false

修剪尾随换行符。例如,

package mainimport (    "bufio"    "fmt"    "os"    "strings")func main() {    reader := bufio.NewReader(os.Stdin)    fmt.Print("Enter name:")    name, err := reader.ReadString('n')    if err != nil {        panic(err)    }    fmt.Printf("%qn", name)    name = strings.TrimRight(name, "rn")    fmt.Printf("%qn", name)    fmt.Println(name == "nixon")

}

输出(Linux):

Enter name:nixon"nixonn""nixon"true

输出(Windows):

Enter name:nixon"nixonrn""nixon"true


欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/zaji/5476589.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-12-12
下一篇 2022-12-12

发表评论

登录后才能评论

评论列表(0条)

保存