Maison  >  Article  >  développement back-end  >  conversion de données golang

conversion de données golang

WBOY
WBOYoriginal
2023-05-27 13:21:38607parcourir

Golang est un langage de programmation moderne et puissant apprécié pour ses capacités de traitement efficaces et sa prise en charge multiplateforme. Golang possède de nombreux types de données intégrés, mais dans le processus de développement réel, nous devons souvent effectuer une conversion de type de données afin de mieux exploiter les données. Cet article se concentrera sur la conversion de données dans Golang.

1. Introduction

La conversion de données dans Golang fait référence à la conversion de la valeur d'un type de données en la valeur d'un autre type de données. Par exemple, convertissez une chaîne en entier. Les conversions de types de données prises en charge dans Golang sont les suivantes :

  1. Type de chaîne
  2. Type entier non signé
  3. Type entier signé
  4. Type à virgule flottante
  5. Type booléen

Exemples

Voici quelques exemples, Shows. comment effectuer une conversion de type de données dans Golang.

  1. Convertir le type de chaîne en type entier

Nous devons convertir une valeur de type chaîne en valeur de type entier, vous pouvez utiliser la fonction strconv.Atoi().

package main

import (
    "fmt"
    "strconv"
)

func main() {
    str := "123"
    num, _ := strconv.Atoi(str)
    fmt.Printf("str: %s, num: %d", str, num)
}

Résultat de sortie :

str: 123, num: 123
  1. Convertir le type entier en type chaîne

Nous devons convertir une valeur de type entier en valeur de type chaîne, vous pouvez utiliser la fonction strconv.Itoa().

package main

import (
    "fmt"
    "strconv"
)

func main() {
    num := 123
    str := strconv.Itoa(num)
    fmt.Printf("num: %d, str: %s", num, str)
}

Résultat de sortie :

num: 123, str: 123
  1. Convertir le type de nombre à virgule flottante en type entier

Nous devons convertir une valeur de type nombre à virgule flottante en une valeur de type entier, vous pouvez utiliser la fonction int().

package main

import "fmt"

func main() {
    f := 3.1415926
    i := int(f)
    fmt.Printf("f: %f, i: %d", f, i)
}

Résultat de sortie :

f: 3.141593, i: 3
  1. Convertir le type entier en type à virgule flottante

Nous devons convertir une valeur de type entier en valeur de type à virgule flottante, vous pouvez utiliser la fonction float64().

package main

import "fmt"

func main() {
    i := 3
    f := float64(i)
    fmt.Printf("i: %d, f: %f", i, f)
}

Résultat de sortie :

i: 3, f: 3.000000
  1. Conversion de type booléen en type chaîne

Nous devons convertir une valeur de type booléen en valeur de type chaîne, vous pouvez utiliser la fonction strconv.FormatBool().

package main

import (
    "fmt"
    "strconv"
)

func main() {
    b := true
    str := strconv.FormatBool(b)
    fmt.Printf("b: %t, str: %s", b, str)
}

Résultat de sortie :

b: true, str: true

3. Notes

Dans Golang, il y a certaines choses à noter concernant la conversion de type de données :

  1. La conversion de type doit être explicite, c'est-à-dire utiliser une fonction de conversion de type.
  2. La conversion de type peut entraîner une perte de données ou modifier la précision du type de données. Par exemple, lors de la conversion d'un nombre à virgule flottante en type entier, la partie fractionnaire peut être tronquée.
  3. Lors de la conversion d'une valeur de type chaîne en valeur de type entier, la fonction de conversion renverra une erreur si la chaîne ne peut pas représenter un entier valide. Vous pouvez utiliser la deuxième valeur de retour pour gérer de telles erreurs.
  4. Lors de la conversion d'une valeur de type virgule flottante en valeur de type entier, le nombre à virgule flottante peut être arrondi ou tronqué.

4. Conclusion

En Golang, la conversion de type de données est une opération très importante. Selon les exigences, nous devons choisir la fonction appropriée pour effectuer la conversion de type, et en même temps, nous devons prêter attention à certains résultats imprévisibles que produira la conversion. J'espère que cet article pourra vous aider avec la conversion de type de données dans le développement Golang.

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
Article précédent:différence fléchette golangArticle suivant:différence fléchette golang