使用fmt.Scanf函數從輸入中讀取格式化的資料並賦值給變數
在Go語言中,我們經常需要從標準輸入中讀取使用者輸入的數據,並將其賦值給變數。 fmt套件中的Scanf函數可以幫助我們實現這個功能。本文將為大家介紹如何使用Scanf函數從輸入讀取格式化的數據,並將其賦值給變數。
首先,讓我們來看看Scanf函數的基本語法:
func Scanf(format string, a ...interface{}) (n int, err error)
其中,format是用來指定輸入資料的格式的字串,而a則是一系列待賦值的變數。這裡的...interface{}表示a可以是一個或多個不同類型的變數。函數將會依序從輸入讀取數據,並將其賦值給a中的對應變數。
接下來,我們將透過一些具體的範例來示範如何使用Scanf函數。
範例1:讀取整數
假設我們需要從輸入讀取一個整數,並將其賦值給變數num。程式碼如下:
package main import "fmt" func main() { var num int fmt.Println("请输入一个整数:") fmt.Scanf("%d", &num) fmt.Printf("您输入的整数是:%d ", num) }
執行程式後,會輸出“請輸入一個整數:”,然後等待使用者在終端機輸入。使用者輸入完整數後,按下回車鍵,程式將會讀取整數並將其賦值給num變量,並列印出來。
範例2:讀取多個資料
假設我們需要從輸入中讀取一個字串和一個整數,並將其賦值給變數name和age。代碼如下:
package main import "fmt" func main() { var name string var age int fmt.Println("请输入您的姓名和年龄:") fmt.Scanf("%s %d", &name, &age) fmt.Printf("您的姓名是:%s,年龄是:%d ", name, age) }
運行程式後,會輸出“請輸入您的姓名和年齡:”,然後等待使用者在終端輸入。使用者輸入完姓名和年齡後,按下回車鍵,程式將會讀取輸入的數據,並將其賦值給name和age變量,並列印出來。
要注意的是,對於不同的資料類型,在格式化字串中使用不同的佔位符。例如,%d表示整數,%s表示字串,%f表示浮點數等。在格式化字串中的佔位符的順序必須與待賦值的變數的順序一致。
總結:
本文介紹了使用fmt套件中的Scanf函數從輸入中讀取格式化的資料並將其賦值給變數的方法。透過這種方式,我們可以輕鬆地從使用者的輸入中獲取所需的數據,並在程式中進行後續的處理。大家可以依照自己的實際需求,靈活運用Scanf函數來讀取不同類型的數據,並進行相對應的操作。
以上是使用fmt.Scanf函數從輸入中讀取格式化的資料並賦值給變數的詳細內容。更多資訊請關注PHP中文網其他相關文章!