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
三个函数,可以在程序运行过程中从标准输入获取用户的输入。
fmt.Scan
语法
func Scan(a ...interface{}) (n int, err error)
- Scan从标准输入扫描文本,读取由空白符分隔的值保存到传递给本函数的参数中,换行符视为空白符。
- 本函数返回成功扫描的数据个数和遇到的任何错误。如果读取的数据个数比提供的参数少,会返回一个错误报告原因。
代码示例
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
从标准输入中扫描用户输入的数据,将以空白符分隔的数据分别存入指定的参数。
fmt.Scanf
语法
func Scanf(format string, a ...interface{}) (n int, err error)
- Scanf从标准输入扫描文本,根据format参数指定的格式去读取由空白符分隔的值保存到传递给本函数的参数中。
- 本函数返回成功扫描的数据个数和遇到的任何错误。
代码示例
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
fmt.Scanln
语法
func Scanln(a ...interface{}) (n int, err error)
- Scanln类似Scan,它在遇到换行时才停止扫描。最后一个数据后面必须有换行或者到达结束位置。
- 本函数返回成功扫描的数据个数和遇到的任何错误。
代码示例
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
fmt.Scan
Syntax
rrreee- Scan scannt Text aus der Standardeingabe und liest aus Leerzeichen Durch Trennzeichen getrennte Werte werden in den an diese Funktion übergebenen Argumenten gespeichert und Zeilenumbrüche werden als Leerzeichen behandelt.
- Diese Funktion gibt die Anzahl der erfolgreich gescannten Daten und alle aufgetretenen Fehler zurück. Wenn die Anzahl der gelesenen Daten geringer ist als die angegebenen Parameter, wird ein Fehlerberichtsgrund zurückgegeben.
Codebeispiel
rrreeeKompilieren Sie den obigen Code und führen Sie ihn im Terminal aus. Geben Sie im TerminalXiao 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. 🎜🎜fmt.Scanf🎜
Syntax
rrreee- Scanf scannt Text aus der Standardeingabe Das durch den Formatparameter angegebene Format liest durch Leerzeichen getrennte Werte und speichert sie in den an diese Funktion übergebenen Parametern.
- Diese Funktion gibt die Anzahl der erfolgreich gescannten Daten und alle aufgetretenen Fehler zurück.
Codebeispiel
rrreee🎜Kompilieren Sie den obigen Code und führen Sie ihn im Terminal aus. Geben Sie Xiao Ming, 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. 🎜rrreee🎜fmt.Scanln🎜
Syntax
rrreee- Scanln ähnelt Scan, es stoppt den Scanvorgang nur, wenn es auf a trifft Zeilenumbruch. Nach den letzten Daten muss ein Zeilenumbruch erfolgen, sonst muss die Endposition erreicht werden.
- Diese Funktion gibt die Anzahl der erfolgreich gescannten Daten und alle aufgetretenen Fehler zurück.
Codebeispiel
rrreee🎜Kompilieren Sie den obigen Code und führen Sie ihn im Terminal aus. Geben SieXiao 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!

Heiße KI -Werkzeuge

Undresser.AI Undress
KI-gestützte App zum Erstellen realistischer Aktfotos

AI Clothes Remover
Online-KI-Tool zum Entfernen von Kleidung aus Fotos.

Undress AI Tool
Ausziehbilder kostenlos

Clothoff.io
KI-Kleiderentferner

Video Face Swap
Tauschen Sie Gesichter in jedem Video mühelos mit unserem völlig kostenlosen KI-Gesichtstausch-Tool aus!

Heißer Artikel

Heiße Werkzeuge

Notepad++7.3.1
Einfach zu bedienender und kostenloser Code-Editor

SublimeText3 chinesische Version
Chinesische Version, sehr einfach zu bedienen

Senden Sie Studio 13.0.1
Leistungsstarke integrierte PHP-Entwicklungsumgebung

Dreamweaver CS6
Visuelle Webentwicklungstools

SublimeText3 Mac-Version
Codebearbeitungssoftware auf Gottesniveau (SublimeText3)

Heiße Themen

In der Bibliothek, die für den Betrieb der Schwimmpunktnummer in der GO-Sprache verwendet wird, wird die Genauigkeit sichergestellt, wie die Genauigkeit ...

Das Problem der Warteschlange Threading In Go Crawler Colly untersucht das Problem der Verwendung der Colly Crawler Library in Go -Sprache. Entwickler stoßen häufig auf Probleme mit Threads und Anfordern von Warteschlangen. � ...

Der Unterschied zwischen Stringdruck in GO -Sprache: Der Unterschied in der Wirkung der Verwendung von Println und String () ist in Go ...

Das Problem der Verwendung von RETISTREAM zur Implementierung von Nachrichtenwarteschlangen in der GO -Sprache besteht darin, die Go -Sprache und Redis zu verwenden ...

Zwei Möglichkeiten, Strukturen in der GO -Sprache zu definieren: Der Unterschied zwischen VAR- und Typ -Schlüsselwörtern. Bei der Definition von Strukturen sieht die Sprache oft zwei verschiedene Schreibweisen: Erstens ...

Welche Bibliotheken in GO werden von großen Unternehmen oder bekannten Open-Source-Projekten entwickelt? Bei der Programmierung in Go begegnen Entwickler häufig auf einige häufige Bedürfnisse, ...

Was soll ich tun, wenn die benutzerdefinierten Strukturbezeichnungen in Goland nicht angezeigt werden? Bei der Verwendung von Goland für GO -Sprachentwicklung begegnen viele Entwickler benutzerdefinierte Struktur -Tags ...

Warum meldet der DSN bei Verwendung von SQL.Open keinen Fehler? In Go Language, Sql.open ...
