Maison > développement back-end > Golang > le corps du texte

conversion de tableau Golang

WBOY
Libérer: 2023-05-21 20:02:35
original
693 Les gens l'ont consulté

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

  1. 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)
}
Copier après la connexion

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.

  1. 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)
}
Copier après la connexion

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)
}
Copier après la connexion

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
}
Copier après la connexion

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!

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
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal