Heim >Backend-Entwicklung >Golang >Wie lese ich durch Leerzeichen getrennte Zeichenfolgen aus Benutzereingaben in Go?

Wie lese ich durch Leerzeichen getrennte Zeichenfolgen aus Benutzereingaben in Go?

Susan Sarandon
Susan SarandonOriginal
2024-11-04 07:48:01523Durchsuche

How to Read Space-Separated Strings from User Input in Go?

Durch Leerzeichen getrennte Zeichenfolgen mit fmt.Scanln analysieren

Beim Versuch, eine Zeichenfolge aus einer Benutzereingabe zu lesen, die mehrere durch Leerzeichen getrennte Wörter enthält, fmt.Scanln gibt möglicherweise nur das erste Wort zurück. Um dieses Problem zu beheben:

Grundlegendes zu fmt.Scanln

fmt.Scanln funktioniert ähnlich wie fmt.Scan, beendet jedoch den Scanvorgang, wenn ein Zeilenumbruchzeichen auftritt. Das neue Zeilenzeichen muss auf das letzte Element folgen oder es muss ein EOF-Indikator (Ende der Datei) vorhanden sein.

Mit Scanln durch Leerzeichen getrennte Zeichenfolgen lesen

An Lesen Sie erfolgreich durch Leerzeichen getrennte Zeichenfolgen und geben Sie im fmt.Scanln-Aufruf mehrere Variablen an:

<code class="go">var s1 string
var s2 string
fmt.Scanln(&s1, &s2)</code>

Dieser Ansatz weist das erste Wort s1 und das zweite s2 zu.

Alternative Vorgehensweise mit bufio.Scanner

Eine weitere Option ist die Verwendung von bufio.Scanner:

<code class="go">scanner := bufio.NewScanner(os.Stdin)
for scanner.Scan() {
    s := scanner.Text()
    fmt.Println(s)
}</code>

Hier durchläuft der Scanner die Standardeingabe und druckt jede Eingabezeile.

Das obige ist der detaillierte Inhalt vonWie lese ich durch Leerzeichen getrennte Zeichenfolgen aus Benutzereingaben in Go?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Stellungnahme:
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn