Maison > développement back-end > Golang > conversion int golang

conversion int golang

王林
Libérer: 2023-05-16 10:03:38
original
712 Les gens l'ont consulté

Golang est un langage de programmation qui a attiré beaucoup d'attention ces dernières années. Il adopte une syntaxe concise et une vitesse de compilation rapide, et convient à la programmation simultanée et à la programmation réseau. Dans Golang, nous devons souvent effectuer une conversion de type de données, la plus courante étant la conversion d'entiers (int). Cet article expliquera en détail la conversion de type int dans Golang.

  1. Types entiers en Golang

En Golang, il existe quatre types entiers :

    # 🎜🎜#int8 : Entier signé de 8 bits, plage de valeurs -128~127
  • int16 : Entier signé de 16 bits, plage de valeurs -32768~32767
  • #🎜🎜 #int32 : Entier signé de 32 bits , plage de valeurs -2147483648~2147483647
  • int64 : entier signé de 64 bits, plage de valeurs -9223372036854775808~9223372036854775807#🎜🎜 #
  • # 🎜🎜#De plus, Golang fournit également l'entier non signé correspondant types La règle de dénomination est uint plus le nombre correspondant de chiffres, tels que uint8, uint16, uint32 et uint64.
conversion de type int vers d'autres types de données

    La conversion de type dans Golang utilise uniformément la fonction toType(), dont toType() La fonction est requise Lors de la conversion en type variable, il est nécessaire de s'assurer que le type cible peut pleinement s'adapter à la plage de valeurs du type source.
  1. Ci-dessous, nous prenons comme exemple la conversion du type int en types float32 et float64 :

2.1 Conversion de int en float32

En raison de valeur de float32 La plage est plus grande que int, donc le type int peut être directement converti en float32. Cela peut être réalisé en utilisant le code suivant :

func intToFloat32(i int) float32 {
    return float32(i)
}
Copier après la connexion

2.2 Convertir int en float64

De la même manière, le type int peut également être directement converti en float64. Vous pouvez utiliser le code suivant pour y parvenir :

func intToFloat64(i int) float64 {
    return float64(i)
}
Copier après la connexion

Convertir d'autres types de données en type int

    Dans Golang, d'autres types de données peut également être converti en type int. Vous pouvez également utiliser la fonction toType(), mais il convient de noter que si la plage de valeurs du type source est plus grande que la plage de valeurs du type cible, la précision peut être perdue lors de la conversion. processus.
  1. Ci-dessous, nous prenons comme exemple la conversion des types float32 et float64 en type int :

3.1 Convertir float32 en int

Parce que float32 est converti en int La précision peut être perdue au cours du processus, il est donc préférable de porter un jugement avant la conversion. Vous pouvez utiliser le code suivant pour y parvenir :

func float32ToInt(f float32) int {
    if f > math.MaxInt32 {
        return math.MaxInt32
    }
    if f < math.MinInt32 {
        return math.MinInt32
    }
    return int(f)
}
Copier après la connexion

3.2 Convertir float64 en int

#. 🎜🎜#Même principe, la conversion du type float64 en type int nécessite également un jugement de précision, qui peut être obtenu en utilisant le code suivant :

func float64ToInt(f float64) int {
    if f > math.MaxInt32 {
        return math.MaxInt32
    }
    if f < math.MinInt32 {
        return math.MinInt32
    }
    return int(f)
}
Copier après la connexion

Summary

#🎜 🎜#Dans Golang, la conversion de type entier est très courante, mais il convient de noter que lors de la conversion, vous devez vous assurer que le type cible peut pleinement s'adapter à la plage de valeurs du type source, sinon des problèmes tels qu'une perte de précision peuvent survenir . Si nécessaire, vous pouvez également personnaliser les fonctions d'implémentation de la conversion.

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