Maison >développement back-end >Golang >Comment fermer l'entrée dans Golang
Golang est un langage de programmation populaire qui fournit de nombreuses fonctions intégrées utiles pour gérer les entrées et les sorties. Dans certains cas, nous souhaiterons peut-être désactiver la saisie de l'utilisateur dans notre programme. Cet article expliquera comment désactiver la saisie dans Golang.
Dans certaines applications, nous devons garantir l'exactitude et la sécurité de la saisie. Par exemple, saisissez des informations confidentielles ou saisissez des données qui affectent la logique du programme. Dans ces cas, nous voulons pouvoir limiter les sources d'entrée du programme et garantir l'exactitude de l'entrée.
Dans Golang, il existe plusieurs façons de fermer la saisie. Deux de ces méthodes seront présentées ci-dessous.
Dans Golang, os.Stdin est une variable intégrée très utile qui représente le flux d'entrée standard du programme. La fermeture de cette variable empêchera le programme de lire les données du flux d'entrée standard.
Utilisez la fonction os.Stdin.Close() pour fermer l'entrée standard du programme.
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()//此时将不能再输入 }
La structure bufio.Reader dans Golang fournit également une méthode pour fermer la saisie. Plus précisément, nous pouvons vérifier si la saisie est terminée lors de la lecture de l'entrée. Si la saisie est terminée, nous pouvons fermer l'entrée et interdire toute nouvelle saisie de données.
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 }
Dans le code ci-dessus, nous utilisons la fonction bufio.NewReader() pour créer un objet bufio.Reader et utilisons sa méthode ReadString() pour lire l'entrée.
Après chaque lecture, nous vérifions si l'erreur est io.EOF. Si tel est le cas, cela signifie que la saisie est terminée et que nous pouvons fermer la saisie.
Ci-dessus sont deux façons de fermer l'entrée Golang. Dans certains cas, nous devrons peut-être désactiver la saisie de l'utilisateur. L'utilisation de ces méthodes peut nous aider à garantir l'exactitude et la sécurité du programme.
Bien sûr, désactiver la saisie n'est pas toujours nécessaire. La situation spécifique doit être déterminée en fonction du scénario d'application.
Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!