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

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

如何使用 fmt.scanln 從以空格分隔的字符串中讀取

如何使用 fmt.scanln 從以空格分隔的字符串中讀取

Go
達令說 2021-12-06 19:41:06
想要“30 of month”但得到“30”package mainimport "fmt"func main() {    var s string    fmt.Scanln(&s)    fmt.Println(s)    return}$ go run test.go31 of month31Scanln 類似于 Scan,但在換行符處停止掃描,并且在最后一項之后必須有一個換行符或 EOF。
查看完整描述

3 回答

?
猛跑小豬

TA貢獻1858條經驗 獲得超8個贊

fmt Scan 系列掃描空格分隔的令牌。


package main


import (

    "fmt"

)


func main() {

    var s1 string

    var s2 string

    fmt.Scanln(&s1,&s2)

    fmt.Println(s1)

    fmt.Println(s2)

    return

}

你可以試試 bufio 掃描


package main

import (

    "bufio"

    "fmt"

    "os"

)


func main() {

    scanner := bufio.NewScanner(os.Stdin)

    for scanner.Scan() {

        s := scanner.Text()

        fmt.Println(s)

    }

    if err := scanner.Err(); err != nil {

        os.Exit(1)

    }

}


查看完整回答
反對 回復 2021-12-06
?
慕哥9229398

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

如果你真的想包含空格,你可以考慮使用fmt.Scanf()with format %q  a double-quoted string safely escaped with Go syntax,例如:


package main


import "fmt"


func main() {

    var s string

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

    fmt.Println(s)

    return

}

運行它并:


$ go run test.go

"31 of month"

31 of month


查看完整回答
反對 回復 2021-12-06
?
守候你守候我

TA貢獻1802條經驗 獲得超10個贊

這是工作程序


package main


import (

    "bufio"

    "fmt"

    "os"

    "strings"

)


func main() {

    var strInput, strInputLowerCase string

    var bFindI, bFindN, bFindA bool


    fmt.Println("Enter a string ")


    scanner := bufio.NewScanner(os.Stdin)

    if scanner.Scan() {

        strInput = scanner.Text()


    }

    fmt.Println(strInput)


}

它讀取像“d skd a efju N”這樣的字符串并打印相同的字符串作為輸出。


查看完整回答
反對 回復 2021-12-06
  • 3 回答
  • 0 關注
  • 343 瀏覽
慕課專欄
更多

添加回答

舉報

0/150
提交
取消
微信客服

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

幫助反饋 APP下載

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

公眾號

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