首頁  >  文章  >  後端開發  >  使用fmt.Fscanf函數從輸入中讀取格式化的數據,並賦值給多個變量,直到遇到換行符

使用fmt.Fscanf函數從輸入中讀取格式化的數據,並賦值給多個變量,直到遇到換行符

WBOY
WBOY原創
2023-07-25 11:09:151581瀏覽

使用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中文網其他相關文章!

陳述:
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn