首頁 > 後端開發 > Golang > Go 中的 ReadString 與 ReadLine:什麼時候應該使用它們進行文字輸入?

Go 中的 ReadString 與 ReadLine:什麼時候應該使用它們進行文字輸入?

Linda Hamilton
發布: 2024-12-26 19:13:14
原創
846 人瀏覽過

ReadString vs. ReadLine in Go: When Should You Use Each for Text Input?

reader.ReadString 與ReadLine

在Go 中,bufio.Reader 提供了兩種從輸入來源讀取文字的方法:ReadString和ReadLine 。這些方法的不同之處在於處理行尾換行符的方式:

ReadString

ReadString 讀取字串,直到遇到指定的分隔符號。預設情況下,分隔符號為 n(換行符),這表示它讀取整行文字。但是,它不會從傳回的字串中刪除分隔符號。在問題中提到的程式碼中:

text, _ := reader.ReadString('\n')
登入後複製

文字變數將包含包含換行符的輸入字串。因此,在檢查“Alice”或“Bob”時,輸入末尾的換行符會導致比較失敗。

ReadLine

ReadLine 讀取一行文本,不包含換行符。它會傳回一個位元組片,其中包含該行中的字元以及指示遇到的任何問題的錯誤值。要將位元組切片轉換為字串,需要像這樣進行轉換:

text, _, _ := reader.ReadLine()
登入後複製

透過使用ReadLine而不是ReadString,文字變數中不包含換行符,解決了比較不正確的問題.

替代解決方案:修剪字串

另一個選項是使用以下命令從輸入字串中手動修剪換行符strings.TrimSpace函數:

text = strings.TrimSpace(text)
登入後複製

這將刪除所有前導和尾隨空白字符,包括換行符,確保乾淨的比較。

以上是Go 中的 ReadString 與 ReadLine:什麼時候應該使用它們進行文字輸入?的詳細內容。更多資訊請關注PHP中文網其他相關文章!

來源:php.cn
本網站聲明
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn
作者最新文章
熱門教學
更多>
最新下載
更多>
網站特效
網站源碼
網站素材
前端模板