Heim > Artikel > Backend-Entwicklung > Wozu dient die Scan-Methode in der Go-Sprache?
In der Go-Sprache wird die Scan()-Methode verwendet, um Text aus der Standardeingabe „os.Stdin“ zu lesen, also Daten vom Terminal abzurufen. Diese Methode gibt die Anzahl der erfolgreich gelesenen Daten und alle aufgetretenen Fehler zurück. Wenn die Anzahl der gelesenen Daten unter den angegebenen Parametern liegt, wird ein Fehlerberichtsgrund zurückgegeben.
Die Betriebsumgebung dieses Tutorials: Windows 7-System, GO Version 1.18, Dell G3-Computer.
Scan-Serie
Go-Sprachpaket fmt
enthält fmt.Scan
, fmt.Scanf
, fmt Scanln
verfügt über drei Funktionen, die während der Programmausführung Benutzereingaben aus der Standardeingabe abrufen können. fmt
包下有fmt.Scan
、fmt.Scanf
、fmt.Scanln
三个函数,可以在程序运行过程中从标准输入获取用户的输入。
func Scan(a ...interface{}) (n int, err error)
func main() { var ( name string age int married bool ) fmt.Scan(&name, &age, &married) fmt.Printf("扫描结果 name:%s age:%d married:%t \n", name, age, married) }
将上面的代码编译后在终端执行,在终端依次输入小明
、18
和false
使用空格分隔。
$ ./scan_demo 小明 18 false 扫描结果 name:小明 age:18 married:false
fmt.Scan
从标准输入中扫描用户输入的数据,将以空白符分隔的数据分别存入指定的参数。
func Scanf(format string, a ...interface{}) (n int, err error)
func main() { var ( name string age int married bool ) fmt.Scanf("1:%s 2:%d 3:%t", &name, &age, &married) fmt.Printf("扫描结果 name:%s age:%d married:%t \n", name, age, married) }
将上面的代码编译后在终端执行,在终端按照指定的格式依次输入小明、18
和false。
$ ./scan_demo 1:小明 2:18 3:false 扫描结果 name:小明 age:18 married:false
fmt.Scanf
不同于fmt.Scan
简单的以空格作为输入数据的分隔符,fmt.Scanf
为输入数据指定了具体的输入内容格式,只有按照格式输入数据才会被扫描并存入对应变量。
例如,我们还是按照上个示例中以空格分隔的方式输入,fmt.Scanf
就不能正确扫描到输入的数据。
$ ./scan_demo 小明 18 false 扫描结果 name: age:0 married:false
func Scanln(a ...interface{}) (n int, err error)
func main() { var ( name string age int married bool ) fmt.Scanln(&name, &age, &married) fmt.Printf("扫描结果 name:%s age:%d married:%t \n", name, age, married) }
将上面的代码编译后在终端执行,在终端依次输入小明
、18
和false
使用空格分隔。
$ ./scan_demo 小明 18 false 扫描结果 name:小明 age:18 married:false
fmt.Scanln
Xiao Ming
ein , 18
und false
werden durch Leerzeichen getrennt. rrreeefmt.Scan
scannt die vom Benutzer eingegebenen Daten aus der Standardeingabe und speichert die durch Leerzeichen getrennten Daten in den angegebenen Parametern. 🎜 ein Reihenfolge gemäß dem angegebenen Format 18
und false.
🎜rrreee🎜fmt.Scanf
unterscheidet sich von fmt.Scan
, das einfach Leerzeichen als Trennzeichen für Eingabedaten verwendet, fmt.Scanf
Für die Eingabedaten wird ein bestimmtes Eingabeinhaltsformat angegeben. Nur die dem Format entsprechenden Eingabedaten werden gescannt und in den entsprechenden Variablen gespeichert. 🎜🎜Wenn wir beispielsweise weiterhin im durch Leerzeichen getrennten Format wie im vorherigen Beispiel eingeben, kann fmt.Scanf
die Eingabedaten nicht korrekt scannen. 🎜rrreeeXiao Ming
, 18 und false
werden durch Leerzeichen getrennt. 🎜rrreee🎜fmt.Scanln
beendet den Scan, wenn ein Wagenrücklauf auftritt. Dies wird häufiger verwendet. 🎜🎜Empfohlenes Lernen: 🎜Golang-Tutorial🎜🎜Das obige ist der detaillierte Inhalt vonWozu dient die Scan-Methode in der Go-Sprache?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!