Golang ist eine beliebte Programmiersprache, die viele nützliche integrierte Funktionen für den Umgang mit Eingabe und Ausgabe bietet. In einigen Fällen möchten wir möglicherweise Benutzereingaben in unser Programm deaktivieren. In diesem Artikel wird erläutert, wie Sie die Eingabe in Golang deaktivieren.
Bei einigen Anwendungen müssen wir die Richtigkeit und Sicherheit der Eingaben sicherstellen. Geben Sie beispielsweise vertrauliche Informationen ein oder geben Sie Daten ein, die sich auf die Programmlogik auswirken. In diesen Fällen möchten wir in der Lage sein, die Eingabequellen des Programms einzuschränken und die Richtigkeit der Eingabe sicherzustellen.
In Golang gibt es mehrere Möglichkeiten, Eingaben zu schließen. Zwei dieser Methoden werden im Folgenden vorgestellt.
In Golang ist os.Stdin eine sehr nützliche integrierte Variable, die den Standardeingabestream des Programms darstellt. Das Schließen dieser Variablen verhindert, dass das Programm Daten aus dem Standardeingabestream liest.
Verwenden Sie die Funktion os.Stdin.Close(), um die Standardeingabe des Programms zu schließen.
package main import ( "fmt" "os" ) func main() { fmt.Println("input your name:") var name string _, err := fmt.Scanln(&name) if err != nil { fmt.Println(err) } fmt.Println("Hello", name) os.Stdin.Close()//关闭标准输入 fmt.Scanln()//此时将不能再输入 }
Die bufio.Reader-Struktur in Golang bietet auch eine Methode zum Schließen der Eingabe. Konkret können wir beim Lesen der Eingabe prüfen, ob die Eingabe beendet ist. Wenn die Eingabe beendet ist, können wir die Eingabe schließen und die weitere Eingabe von Daten verbieten.
package main import ( "bufio" "fmt" "os" ) func main() { fmt.Println("input your name:") var name string reader := bufio.NewReader(os.Stdin) for { line, err := reader.ReadString('\n') if line == "\n" { fmt.Println("Name:", name) break } if err == nil { name += line } else if err.Error() == "EOF" { fmt.Println("Name:", name) break } } reader = nil }
Im obigen Code verwenden wir die Funktion bufio.NewReader(), um ein bufio.Reader-Objekt zu erstellen und verwenden dessen ReadString()-Methode, um die Eingabe zu lesen.
Nach jedem Lesevorgang prüfen wir, ob der Fehler io.EOF ist. Wenn dies der Fall ist, bedeutet dies, dass die Eingabe beendet ist und wir die Eingabe schließen können.
Die oben genannten sind zwei Möglichkeiten, die Golang-Eingabe zu schließen. In einigen Fällen müssen wir möglicherweise Benutzereingaben deaktivieren. Der Einsatz dieser Methoden kann uns dabei helfen, die Korrektheit und Sicherheit des Programms sicherzustellen.
Natürlich ist das Ausschalten der Eingabe nicht immer notwendig. Die spezifische Situation muss entsprechend dem Anwendungsszenario bestimmt werden.
Das obige ist der detaillierte Inhalt vonSo schließen Sie die Eingabe in Golang. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!