Heim >Backend-Entwicklung >Golang >Wie lese ich von der Standardeingabe (stdin) in Go?

Wie lese ich von der Standardeingabe (stdin) in Go?

Susan Sarandon
Susan SarandonOriginal
2024-12-17 07:40:24123Durchsuche

How to Read from Standard Input (stdin) in Go?

Wie man in Go vom anfänglichen Standard-Standard liest

In Go kann das Lesen vom anfänglichen Standard-Standard eines Programms mithilfe des Betriebssystems erreicht werden. Stdin-Schnittstelle. Wenn jedoch keine Eingabe in os.Stdin erfolgt, wartet das Programm auf die Eingabe.

Lösung:

Der empfohlene Ansatz besteht darin, os.Stdin so zu verwenden bietet eine einfache und zuverlässige Methode zum Lesen aus der ursprünglichen Standarddatei. Um os.Stdin zu verwenden, rufen Sie einfach die Funktion io.ReadAll() auf, um alle Bytes aus der Eingabe zu lesen.

Hier ist ein Beispiel:

package main

import "os"
import "log"
import "io"

func main() {
    bytes, err := io.ReadAll(os.Stdin)

    log.Println(err, string(bytes))
}

Bei Ausführung mit echo test stdin | Führen Sie stdin.go aus. Dieser Code gibt test stdin aus.

Zum zeilenbasierten Lesen kann der bufio.Scanner verwendet werden:

import "os"
import "log"
import "bufio"

func main() {
    s := bufio.NewScanner(os.Stdin)
    for s.Scan() {
        log.Println("line", s.Text())
    }
}

Das obige ist der detaillierte Inhalt vonWie lese ich von der Standardeingabe (stdin) 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