Maison >développement back-end >Golang >A quoi sert la méthode scan en langage go ?
Dans le langage go, la méthode Scan() est utilisée pour lire le texte de l'entrée standard "os.Stdin", c'est-à-dire pour obtenir des données du terminal. Cette méthode renverra le nombre de données lues avec succès et toutes les erreurs rencontrées ; si le nombre de données lues est inférieur aux paramètres fournis, une raison du rapport d'erreur sera renvoyée.
L'environnement d'exploitation de ce tutoriel : système Windows 7, GO version 1.18, ordinateur Dell G3.
Série Scan
Le package Go Language fmt
a trois fonctions : fmt.Scan
, fmt.Scanf
et fmt.Scanln
Obtenir. entrée utilisateur à partir de l’entrée standard pendant l’exécution du programme.
func Scan(a ...interface{}) (n int, err error)
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) }
Compilez le code ci-dessus et exécutez-le dans le terminal, entrez 小明
, 18
et false
dans l'ordre, séparés par. espaces.
$ ./scan_demo 小明 18 false 扫描结果 name:小明 age:18 married:false
fmt.Scan
Scannez les données saisies par l'utilisateur à partir de l'entrée standard et stockez les données séparées par des espaces dans les paramètres spécifiés.
func Scanf(format string, a ...interface{}) (n int, err error)
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) }
Compilez le code ci-dessus et exécutez-le dans le terminal, entrez Xiao Ming, 18
et false。
$ ./scan_demo 1:小明 2:18 3:false 扫描结果 name:小明 age:18 married:false
est différent de fmt.Scanf
qui utilise simplement des espaces comme séparateurs pour les données d'entrée fmt.Scan
spécifie un format de contenu d'entrée spécifique pour les données d'entrée uniquement en fonction du format. seront analysés et stockés dans les variables correspondantes. fmt.Scanf
ne pourra pas analyser correctement les données d'entrée. fmt.Scanf
$ ./scan_demo 小明 18 false 扫描结果 name: age:0 married:false
func Scanln(a ...interface{}) (n int, err error)
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) }
, 小明
et 18
dans l'ordre, séparés par. espaces. false
$ ./scan_demo 小明 18 false 扫描结果 name:小明 age:18 married:false
L'analyse se termine lorsqu'un retour chariot est rencontré. Ceci est plus couramment utilisé. fmt.Scanln
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!