使用fmt.Fscanf函數從輸入中讀取格式化的數據,並賦值給多個變量,直到遇到換行符
在Go語言的fmt套件中,有一個非常實用的函數fmt.Fscanf,可以用來讀取格式化的輸入數據,並將讀取的值賦值給多個變數。以下將介紹如何使用fmt.Fscanf函數,並附帶程式碼範例。
在開始之前,首先需要先了解fmt.Fscanf函數的基本用法。其函數簽章如下:
func Fscanf(r io.Reader, format string, a ...interface{}) (n int, err error)
Fscanf函數從讀取器r中讀取格式化的數據,格式由format參數指定,將讀取的值依照format格式指派給a...interface{}中的變量,並傳回成功讀取的參數數量n和錯誤訊息err。
下面是一個簡單的程式碼範例,示範如何使用fmt.Fscanf函數從標準輸入讀取格式化的數據,並將讀取的值賦值給多個變數。
package main import ( "fmt" "os" ) func main() { var name string var age int fmt.Println("请输入你的姓名和年龄(以空格分隔): ") _, err := fmt.Fscanf(os.Stdin, "%s %d ", &name, &age) if err != nil { fmt.Println("读取输入错误: ", err) return } fmt.Printf("你的姓名是 %s,年龄是 %d ", name, age) }
在上面的範例中,首先定義了變數name和age,分別用於儲存讀取的姓名和年齡。然後使用fmt.Fscanf函數從標準輸入os.Stdin中讀取格式化的數據,"%s %d
"指定了輸入的格式,"%s"表示讀取一個字串,"%d"表示讀取一個整數,"
"表示讀取一個空格和一個換行符。讀取的結果依照順序分配給name和age兩個變數。在讀取時,如果遇到錯誤,會傳回err錯誤訊息,需要進行錯誤處理。
最後,在fmt.Printf函數中列印出讀取的結果,驗證讀取的結果是否正確。
總結:使用fmt.Fscanf函數可以方便地從輸入中讀取格式化的數據,並將讀取的值賦值給多個變數。透過合理指定格式,可以實現輸入資料的靈活讀取和處理。需要注意的是,在讀取時要進行錯誤處理,確保讀取操作的正確性。
希望本文的程式碼範例和講解能夠對你理解和使用fmt.Fscanf函數有所幫助。
以上是使用fmt.Fscanf函數從輸入中讀取格式化的數據,並賦值給多個變量,直到遇到換行符的詳細內容。更多資訊請關注PHP中文網其他相關文章!