使用Go語言解決Scan空格結(jié)束輸入問題
問題
Go語言的輸入Scan
,無論是Scanf
,還是Scanln
還是其他,都是以空格結(jié)束輸入的。
但是我們輸入可能是帶空格的。
比如 Fan One 666
Scan
var msg string _,_ =fmt.Scan(&msg) fmt.Printf(msg)
Scanf
var msg string _,_ =fmt.Scanf("%s",&msg) fmt.Printf(msg)
Scanln
var msg string _,_ =fmt.Scanln(&msg) fmt.Printf(msg)
可以看出三個(gè)都是這樣,空格就結(jié)束了輸入
解決
那我們就不能用Scan
了,轉(zhuǎn)用bufio
的標(biāo)準(zhǔn)輸入輸出格式
var msg string reader := bufio.NewReader(os.Stdin) // 標(biāo)準(zhǔn)輸入輸出 msg,_ = reader.ReadString('\n') // 回車結(jié)束 msg = strings.TrimSpace(msg) // 去除最后一個(gè)空格 fmt.Printf(msg)
問題解決了。
以上就是使用Go語言解決Scan空格結(jié)束輸入問題的詳細(xì)內(nèi)容,更多關(guān)于Go解決Scan空格結(jié)束輸入問題的資料請關(guān)注腳本之家其它相關(guān)文章!
相關(guān)文章
golang服務(wù)報(bào)錯(cuò):?write:?broken?pipe的解決方案
在開發(fā)在線客服系統(tǒng)的時(shí)候,看到日志里有一些錯(cuò)誤信息,下面這篇文章主要給大家介紹了關(guān)于golang服務(wù)報(bào)錯(cuò):?write:?broken?pipe的解決方案,需要的朋友可以參考下2022-09-09基于HLS創(chuàng)建Golang視頻流服務(wù)器的優(yōu)缺點(diǎn)
HLS 是 HTTP Live Streaming 的縮寫,是蘋果開發(fā)的一種基于 HTTP 的自適應(yīng)比特率流媒體傳輸協(xié)議。這篇文章主要介紹了基于 HLS 創(chuàng)建 Golang 視頻流服務(wù)器,需要的朋友可以參考下2021-08-08GO語言協(xié)程互斥鎖Mutex和讀寫鎖RWMutex用法實(shí)例詳解
這篇文章主要介紹了GO語言協(xié)程互斥鎖Mutex和讀寫鎖RWMutex用法詳解,需要的朋友可以參考下2022-04-04go module構(gòu)建項(xiàng)目的實(shí)現(xiàn)
本文主要介紹了go module構(gòu)建項(xiàng)目的實(shí)現(xiàn),文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧2023-03-03利用Go語言實(shí)現(xiàn)簡單Ping過程的方法
相信利用各種語言實(shí)現(xiàn)Ping已經(jīng)是大家喜聞樂見的事情了,網(wǎng)絡(luò)上利用Golang實(shí)現(xiàn)Ping已經(jīng)有比較詳細(xì)的代碼示例,但大多是僅僅是實(shí)現(xiàn)了Request過程,而對Response的回顯內(nèi)容并沒有做接收。而Ping程序不僅僅是發(fā)送一個(gè)ICMP,更重要的是如何接收并進(jìn)行統(tǒng)計(jì)。2016-09-09