使用fmt.Scanln 解析由空格分隔的字串
當嘗試從使用者輸入中讀取包含多個由空格分隔的單字的字串時, fmt.Scanln 可能只會傳回第一個單字。要解決此問題:
了解 fmt.Scanln
fmt.Scanln 的操作與 fmt.Scan 類似,但在遇到換行符時終止掃描。換行符必須跟在最後一項之後,或必須有 EOF(檔案結束)指示符。
使用Scanln 讀取空格分隔的字串
到成功讀取空格分隔的字串,在fmt.Scanln 呼叫中指定多個變數:
<code class="go">var s1 string var s2 string fmt.Scanln(&s1, &s2)</code>
此方法將第一個單字分配給s1,第二個單字分配給s2。
替代使用bufio.Scanner 的方法
另一個選擇是使用bufio.Scanner:
<code class="go">scanner := bufio.NewScanner(os.Stdin) for scanner.Scan() { s := scanner.Text() fmt.Println(s) }</code>
這裡,掃描器循環歷歷標準輸入並列印每行輸入。
以上是如何在 Go 中從使用者輸入讀取空格分隔的字串?的詳細內容。更多資訊請關注PHP中文網其他相關文章!