Saisie d'entiers efficace dans Golang : évitez les boucles explicites
Dans l'intention de rassembler efficacement plusieurs entiers séparés par des espaces et de les stocker dans une tranche, commençons par explorez une solution qui contourne les itérateurs de boucle explicites.
Sans utiliser les boucles for traditionnelles, nous pouvons utiliser une approche récursive pour analyser l'entrée de manière itérative. Voici un aperçu de la stratégie :
<br>func ReadN(all []int, i, n int) <br>
<br> if n == 0 {</p> <div class="code" style="position:relative; padding:0px; margin:0px;"><pre class="brush:php;toolbar:false"> return }
<br> if m, err := Scan(&all[i]); m != 1 {<br>
<br>ReadN(all, i 1, n-1)<br>
Grâce à la fonction fmt.Scan, qui effectue l'analyse des entrées, cette approche offre une analyse efficace des entrées entières.
Pour un traitement encore plus rapide, nous pouvons remplacer func Scan(a *int) par une fonction optimisée qui exploite diverses astuces pour une lecture accélérée des entrées. Cette version améliorée optimise encore la vitesse de traitement des entrées.
En employant ces techniques efficaces, nous pouvons lire rapidement plusieurs entiers de l'utilisateur et les stocker dans une tranche entière, accélérant ainsi le flux de travail de traitement des entrées dans Golang.
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!