Analyse de nombres dans des tableaux à l'aide de fmt.Fscan dans Go
L'une des tâches couramment rencontrées en programmation consiste à lire plusieurs entrées numériques de l'utilisateur . Dans le langage Go, cela peut être réalisé en utilisant la fonction fmt.Fscan avec un tableau ou une tranche pour stocker les valeurs d'entrée.
Considérez l'extrait de code suivant, où l'utilisateur est invité à saisir deux nombres :
numbers := make([]int, 2) fmt.Fscan(os.Stdin, &numbers[0], &numbers[1])
En fournissant les adresses mémoire des éléments individuels du tableau (numbers[0] et number[1]) comme arguments à fmt.Fscan, nous pouvons lire efficacement et stockez les nombres d'entrée dans le tableau.
Cependant, une approche plus concise est souhaitée, où nous pouvons directement numériser les nombres dans le tableau lui-même. Pour y parvenir, nous pouvons créer une fonction utilitaire qui crée une tranche de pointeurs vers les éléments de notre tableau :
func packAddrs(n []int) []interface{} { p := make([]interface{}, len(n)) for i := range n { p[i] = &n[i] } return p }
En passant le résultat de packAddrs à fmt.Fscan, nous pouvons analyser efficacement les nombres d'entrée dans le tableau :
numbers := make([]int, 2) n, err := fmt.Fscan(os.Stdin, packAddrs(numbers)...) fmt.Println(numbers, n, err)
Cette approche offre un moyen plus simple et plus efficace de lire plusieurs nombres dans un tableau à l'aide de fmt.Fscan. C'est particulièrement utile lorsque le nombre de valeurs d'entrée n'est pas connu à l'avance.
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!