亚洲在线久爱草,狠狠天天香蕉网,天天搞日日干久草,伊人亚洲日本欧美

為了賬號安全,請及時綁定郵箱和手機立即綁定
已解決430363個問題,去搜搜看,總會有你想問的

如何使用 fmt 讀取字符串。使用 bufio 在 Go 中讀取一行后掃描?

如何使用 fmt 讀取字符串。使用 bufio 在 Go 中讀取一行后掃描?

Go
藍山帝景 2022-10-04 19:52:22
我用 讀一行,然后我用 讀一個字符串。bufio.NewReader(os.Stdin)fmt.Scanfpackage mainimport (    "fmt"    "bufio"    "os"    )func main() {    reader := bufio.NewReader(os.Stdin)        var str string    inp, _ := reader.ReadString('\n')    fmt.Scanf("%s", &str)        fmt.Println(inp)    fmt.Printf(str)}輸入:This is a sentence.John我希望輸出如上所示,但事實并非如此。輸出:This is a sentence.實際上不起作用。問題出在哪里?和如何修復它?fmt.Scanf("%s", &str)
查看完整描述

1 回答

?
肥皂起泡泡

TA貢獻1829條經驗 獲得超6個贊

讀者。讀字符串(delim) 讀取所有內容,包括分隔符。因此,它在兩個輸入之間添加 \n。斷續器Printf(str) 最后沒有 \n,因此第二個輸出粘附到打印到 stdout 的下一個內容。


package main


import (

    "bufio"

    "fmt"

    "os"

)


func main() {

    reader := bufio.NewReader(os.Stdin)


    var str string

    inp, _ := reader.ReadString('\n')

    fmt.Scanf("%s", &str)


    fmt.Println(inp)

    fmt.Printf(str)

}

輸入:


some line

John

輸出:


some line


John

下面是按所需運行的代碼。


   package main


import (

    "bufio"

    "fmt"

    "os"

)


func main() {

    reader := bufio.NewReader(os.Stdin)


    var str string

    inp, _ := reader.ReadString('\n')

    fmt.Scanf("%s", &str)


    fmt.Print(inp)

    fmt.Printf("%s\n", str)

}

http://img1.sycdn.imooc.com//633c1eb20001b91203230166.jpg

查看完整回答
反對 回復 2022-10-04
  • 1 回答
  • 0 關注
  • 135 瀏覽
慕課專欄
更多

添加回答

舉報

0/150
提交
取消
微信客服

購課補貼
聯系客服咨詢優惠詳情

幫助反饋 APP下載

慕課網APP
您的移動學習伙伴

公眾號

掃描二維碼
關注慕課網微信公眾號