conversion de tableau Golang
La conversion de tableau Golang fait référence à la conversion d'un tableau d'un type en un tableau d'un autre type. Golang fournit des fonctions et méthodes intégrées pour faciliter la conversion de tableaux.
1. Conversion de type de tableau
- Conversion de tableau de type numérique
Dans Golang, différents tableaux de type numérique peuvent être convertis les uns aux autres. Par exemple, les tableaux de type int peuvent être convertis en tableaux de type float32 ou float64 et en type float32. les tableaux peuvent être convertis. C'est un tableau de type int. Cette conversion de type de tableau est principalement réalisée via des assertions de type, par exemple :
var a = [5]int{1, 2, 3, 4, 5} var b = [5]float64{1.1, 2.2, 3.3, 4.4, 5.5} // 将a转换为float64类型数组 c := make([]float64, len(a)) for i, v := range a { c[i] = float64(v) } // 将b转换为int类型数组 d := make([]int, len(b)) for i, v := range b { d[i] = int(v) }
La fonction make() est utilisée ici pour créer un nouveau tableau, et chaque élément du tableau d'origine est converti en un élément du tableau cible via une boucle . Il convient de noter que cette conversion de type ne peut être effectuée qu'entre types numériques et ne peut pas convertir directement un tableau de type chaîne en un tableau de type numérique.
- Conversion de tableau de type chaîne
La conversion d'un tableau de type chaîne est relativement compliquée, car le type de chaîne ne prend pas en charge l'assertion de type. Dans Golang, vous pouvez utiliser les fonctions fournies par le package strconv pour convertir un tableau de chaînes en un tableau de type numérique, par exemple :
var s = [5]string{"1", "2", "3", "4", "5"} // 将s转换为int类型数组 e := make([]int, len(s)) for i, v := range s { e[i], _ = strconv.Atoi(v) } // 将s转换为float64类型数组 f := make([]float64, len(s)) for i, v := range s { f[i], _ = strconv.ParseFloat(v, 64) }
Ici, les fonctions Atoi() et ParseFloat() fournies par le package strconv sont utilisées pour convertir la chaîne en un type numérique. Il convient de noter que ces fonctions ont également des limites. Par exemple, si la chaîne n'est pas dans un format numérique légal, la conversion échouera.
2. Conversion des éléments du tableau
En plus de la conversion globale du type de tableau, il est parfois également nécessaire de convertir des éléments individuels du tableau. Dans Golang, vous pouvez parcourir le tableau à travers une boucle for et convertir les éléments du tableau en type cible un par un. Par exemple :
var g = [5]int{1, 2, 3, 4, 5} // 将g中所有元素转换为float64类型 for i := 0; i < len(g); i++ { g[i] = int(float64(g[i]) * 1.5) }
Ici, la multiplication en virgule flottante est utilisée pour multiplier les éléments du tableau par 1,5, puis le type. est converti en type int. Il convient de noter que cette approche modifiera directement le tableau d'origine. Si vous devez conserver le tableau d'origine, vous pouvez stocker les éléments dans un nouveau tableau un par un. Par exemple :
var h = [5]int{1, 2, 3, 4, 5} // 将g中所有元素转换为float64类型 j := make([]float64, len(h)) for i, v := range h { j[i] = float64(v) * 1.5 }
Ici crée un nouveau tableau j et convertit chaque élément de g en type float64, puis le multiplie par 1,5 et stocke le résultat dans le tableau cible.
Résumé :
La conversion de tableau est une opération courante dans Golang. La conversion entre des tableaux de différents types peut être réalisée via l'assertion de type et la conversion de type. Vous pouvez également parcourir le tableau via une boucle for et convertir les éléments du tableau un par un. Il convient de noter que la conversion des éléments du tableau affectera directement le tableau d'origine, vous devez donc faire attention à la sécurité des données lors de la conversion du tableau.
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!

Outils d'IA chauds

Undresser.AI Undress
Application basée sur l'IA pour créer des photos de nu réalistes

AI Clothes Remover
Outil d'IA en ligne pour supprimer les vêtements des photos.

Undress AI Tool
Images de déshabillage gratuites

Clothoff.io
Dissolvant de vêtements AI

AI Hentai Generator
Générez AI Hentai gratuitement.

Article chaud

Outils chauds

Bloc-notes++7.3.1
Éditeur de code facile à utiliser et gratuit

SublimeText3 version chinoise
Version chinoise, très simple à utiliser

Envoyer Studio 13.0.1
Puissant environnement de développement intégré PHP

Dreamweaver CS6
Outils de développement Web visuel

SublimeText3 version Mac
Logiciel d'édition de code au niveau de Dieu (SublimeText3)

Sujets chauds

Cet article explique les mécanismes d'importation des packages de Go: les importations nommées (par exemple, importation & quot; fmt & quot;) et les importations vierges (par exemple, importation _ & quot; fmt & quot;). Les importations nommées rendent le contenu du package accessible, tandis que les importations vierges ne font que l'exécuter t

Cet article explique la fonction Newflash () de Beego pour le transfert de données inter-pages dans les applications Web. Il se concentre sur l'utilisation de NewFlash () pour afficher les messages temporaires (succès, erreur, avertissement) entre les contrôleurs, en tirant parti du mécanisme de session. Limiter

Cet article détaille la conversion efficace de la requête MySQL Resulte en tranches de structure GO. Il met l'accent sur l'utilisation de la méthode de numérisation de la base de données / SQL pour des performances optimales, en évitant l'analyse manuelle. Meilleures pratiques pour la cartographie des champs struct à l'aide de balises DB et de robus

Cet article montre la création de simulations et de talons dans GO pour les tests unitaires. Il met l'accent sur l'utilisation des interfaces, fournit des exemples d'implémentations simulées et discute des meilleures pratiques telles que la tenue de simulations concentrées et l'utilisation de bibliothèques d'assertion. L'articl

Cet article explore les contraintes de type personnalisé de Go pour les génériques. Il détaille comment les interfaces définissent les exigences de type minimum pour les fonctions génériques, améliorant la sécurité du type et la réutilisabilité du code. L'article discute également des limitations et des meilleures pratiques

Cet article détaille la rédaction de fichiers efficace dans GO, en comparant OS.WriteFile (adapté aux petits fichiers) avec OS.OpenFile et Buffered Writes (optimal pour les fichiers volumineux). Il met l'accent sur la gestion robuste des erreurs, l'utilisation de différer et la vérification des erreurs spécifiques.

L'article traite des tests d'unité d'écriture dans GO, couvrant les meilleures pratiques, des techniques de moquerie et des outils pour une gestion efficace des tests.

Cet article explore l'utilisation d'outils de traçage pour analyser le flux d'exécution des applications GO. Il traite des techniques d'instrumentation manuelles et automatiques, de comparaison d'outils comme Jaeger, Zipkin et OpenTelelemetry, et mettant en évidence une visualisation efficace des données
