Convertir efficacement des tranches entre types numériques
Lorsque vous travaillez avec Go, la conversion de tranches entre différents types numériques peut être une tâche courante. Par exemple, il faudra peut-être convertir une tranche de float32 en float64. Bien que parcourir la tranche et convertir individuellement chaque élément soit une approche valable, ce n'est pas la plus efficace.
Évitez les conversions itératives
Contrairement à d'autres langages, Go ne fournir des fonctions intégrées pour les conversions de tranches. Cela signifie que parcourir la tranche reste la méthode la plus efficace. Cependant, certaines techniques peuvent être utilisées pour optimiser ce processus.
Optimisation des conversions itératives
Le code suivant montre le moyen le plus efficace de convertir une tranche de float32 en float64 :
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 }
Exemple d'utilisation :
slice32 := make([]float32, 1000) slice64 := convertTo64(slice32)
En incorporant ces techniques, vous pouvez convertir efficacement des tranches entre des valeurs numériques. tape dans Go.
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!