Maison >développement back-end >Golang >Le guide complet de la conversion de types de données dans Go : commencez par les bases

Le guide complet de la conversion de types de données dans Go : commencez par les bases

PHPz
PHPzoriginal
2024-01-09 14:33:43624parcourir

Le guide complet de la conversion de types de données dans Go : commencez par les bases

Un guide complet pour apprendre la conversion de types de données en langage Go à partir de zéro

Le langage Go est un langage de programmation typé statiquement, qui a des exigences relativement strictes en matière de types de données. En langage Go, la conversion de type de données est une opération très courante. Cet article partira de zéro, présentera en détail diverses situations de conversion de types de données en langage Go et fournira des exemples de code spécifiques.

1. Conversion de types de données de base
Les types de données de base dans le langage Go incluent les entiers, les virgules flottantes, les booléens et les chaînes. Lors de la conversion entre différents types de données, vous devez utiliser la fonction de conversion de type ou l'opérateur de conversion correspondant.

  1. Conversion de type de données entières
    Dans le langage Go, la conversion entre entiers peut être effectuée via la fonction de conversion de type int() ou l'opérateur de conversion de type.

Exemple de code :

a := 10
b := float64(a)
c := int64(a)
  1. Conversion de type de données à virgule flottante
    La conversion entre types à virgule flottante peut également être effectuée à l'aide de fonctions de conversion de type et d'opérateurs de conversion de type.

Exemple de code :

a := 10.5
b := int(a)
c := float32(a)
  1. Conversion de type de données booléen
    En langage Go, la valeur du type booléen ne peut être que vraie ou fausse. Cependant, les types booléens et entiers peuvent être convertis les uns aux autres, et lorsque true est converti en type entier, il vaut 1, et lorsque false est converti en type entier, il vaut 0.

Exemple de code :

a := true
b := int(a)
c := bool(b)
  1. Conversion de type de données chaîne
    Dans le langage Go, la conversion entre les chaînes et d'autres types de données est spéciale. Vous pouvez utiliser le package strconv pour convertir des chaînes vers et depuis d'autres types de données.

Exemple de code :

import "strconv"

a := "10"
b, _ := strconv.Atoi(a)
c := strconv.Itoa(b)

2. Conversion de type personnalisée
Dans le langage Go, vous pouvez utiliser le mot-clé type pour personnaliser de nouveaux types de données. Lorsque vous devez convertir un type personnalisé en d'autres types de données, vous devez également utiliser une fonction de conversion de type ou un opérateur de conversion.

Exemple de code :

type MyInt int

a := MyInt(10)
b := int(a)

3. Conversion de type de structure
En langage Go, la structure est un type de données composite qui peut contenir plusieurs champs. Lorsque vous devez convertir une structure vers un autre type de structure, vous devez faire attention à la correspondance entre les champs.

Exemple de code :

type Person struct {
    Name string
    Age  int
}

type Employee struct {
    Name    string
    Age     int
    Company string
}

func main() {
    p := Person{Name: "Alice", Age: 20}
    
    // 将Person类型转换为Employee类型
    e := Employee(p)
    
    fmt.Printf("Name: %s, Age: %d, Company: %s
", e.Name, e.Age, e.Company)
}

4. Conversion de type de tableau et de tranche
En langage Go, les tableaux et les tranches peuvent être convertis les uns dans les autres. Lors de la conversion d'un tableau en tranche, vous pouvez utiliser l'expression de tranche [:].

Exemple de code :

a := [3]int{1, 2, 3}

// 数组转换为切片
b := a[:]

// 切片转换为数组
c := []int{4, 5, 6}
d := [3]int(c)

Résumé :
Cet article présente en détail diverses situations de conversion de types de données en langage Go et fournit des exemples de code spécifiques. Dans la programmation réelle, la conversion de type de données est une opération très courante et importante. J'espère que cet article pourra aider les lecteurs à mieux comprendre et appliquer la conversion de type de données en langage 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!

Déclaration:
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