使用Go語言解決Scan空格結束輸入問題
更新時間:2021年11月09日 10:49:47 作者:小生凡一
這篇文章主要為大家介紹了使用Go語言來解決Scan空格結束輸入問題,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進步
問題
Go語言的輸入Scan,無論是Scanf,還是Scanln還是其他,都是以空格結束輸入的。
但是我們輸入可能是帶空格的。
比如 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)

可以看出三個都是這樣,空格就結束了輸入
解決
那我們就不能用Scan了,轉(zhuǎn)用bufio的標準輸入輸出格式
var msg string
reader := bufio.NewReader(os.Stdin) // 標準輸入輸出
msg,_ = reader.ReadString('\n') // 回車結束
msg = strings.TrimSpace(msg) // 去除最后一個空格
fmt.Printf(msg)

問題解決了。
以上就是使用Go語言解決Scan空格結束輸入問題的詳細內(nèi)容,更多關于Go解決Scan空格結束輸入問題的資料請關注腳本之家其它相關文章!
相關文章
golang利用函數(shù)閉包實現(xiàn)簡單的中間件
中間件設計模式是一種常見的軟件設計模式,它在許多編程語言和框架中被廣泛應用,這篇文章主要為大家介紹一下golang利用函數(shù)閉包實現(xiàn)一個簡單的中間件,感興趣的可以了解下2023-10-10
Golang使用gob實現(xiàn)結構體的序列化過程詳解
Golang struct類型數(shù)據(jù)序列化用于網(wǎng)絡傳輸數(shù)據(jù)或在磁盤上寫入數(shù)據(jù)。在分布式系統(tǒng)中,一端生成數(shù)據(jù)、然后序列化、壓縮和發(fā)送;在另一端,接收數(shù)據(jù)、然后解壓縮、反序列化和處理數(shù)據(jù),整個過程必須快速有效2023-03-03
Go1.16新特性embed打包靜態(tài)資源文件實現(xiàn)
這篇文章主要為大家介紹了Go?1.16新特性embed打包靜態(tài)資源文件的實現(xiàn)示例詳解,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進步,早日升職加薪2022-07-07
Golang中基于HTTP協(xié)議的網(wǎng)絡服務
HTTP協(xié)議是基于TCP/IP協(xié)議棧的,并且它也是一個面向普通文本的協(xié)議。這篇文章主要詳細介紹了Golang中基于HTTP協(xié)議的網(wǎng)絡服務,感興趣的小伙伴可以借鑒一下2023-04-04

