Maison > développement back-end > Golang > Comment convertir efficacement une tranche numérique en un type différent dans Go ?

Comment convertir efficacement une tranche numérique en un type différent dans Go ?

Linda Hamilton
Libérer: 2024-11-23 10:42:10
original
384 Les gens l'ont consulté

How to Efficiently Convert a Numeric Slice to a Different Type in Go?

Conversion d'une tranche numérique en un type différent

Dans Go, la conversion d'une tranche d'un type numérique en un autre type est une tâche courante. Cependant, si vous recherchez une méthode rapide et efficace, l'approche itérative par défaut est la plus efficace.

Parcourir les éléments de la tranche et convertir explicitement chaque élément est l'approche la plus simple. Au lieu de :

output[i] = float64(data[i])
Copier après la connexion

Pour une efficacité optimale, utilisez la boucle de plage et évitez d'indexer la tranche pour la vérification des limites. Voici la méthode recommandée :

func convertTo64(ar []float32) []float64 {
   newar := make([]float64, len(ar))
   var v float32
   var i int
   for i, v = range ar {
      newar[i] = float64(v)
   }
   return newar
}
Copier après la connexion

Notez que l'utilisation de := dans la boucle de plage est inefficace dans Go, car la variable est créée à plusieurs reprises au lieu d'être réutilisée. L'utilisation de range au lieu d'une boucle for traditionnelle permet également d'économiser sur les vérifications de limites.

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!

source:php.cn
Déclaration de ce site Web
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn
Derniers articles par auteur
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal