Maison >développement back-end >Golang >Deux aspects introduisent la conversion de valeur de Golang

Deux aspects introduisent la conversion de valeur de Golang

PHPz
PHPzoriginal
2023-04-03 09:18:41749parcourir

La conversion de type est souvent requise en langage Go (Golang), notamment lorsqu'il s'agit de variables de types différents, une conversion entre valeurs (valeur) est requise. Cet article présentera la conversion de valeur de Golang sous les deux aspects suivants :

  1. Conversion entre types de base
  2. Conversion entre types personnalisés

Conversion entre types de base

Dans Golang, entre types de base La conversion est très simple, il suffit d'utiliser le fonction de conversion du type correspondant. Voici un exemple de code pour la conversion entre certains types de base :

package main

import (
    "fmt"
)

func main() {
    var i int = 5
    var f float32 = 3.2
    var b bool = true

    // int to float32
    var iToFloat32 float32 = float32(i)
    fmt.Printf("int to float32: %v\n", iToFloat32)

    // float32 to int
    var fToInt int = int(f)
    fmt.Printf("float32 to int: %v\n", fToInt)

    // int to bool
    var iToBool bool = i != 0
    fmt.Printf("int to bool: %v\n", iToBool)

    // bool to int
    var bToInt int = 0
    if b {
        bToInt = 1
    }
    fmt.Printf("bool to int: %v\n", bToInt)
}

Conversion entre types personnalisés

Dans Golang, la conversion de valeur entre types personnalisés peut être gênante car certaines méthodes doivent être utilisées pour la conversion de type. Voici un exemple de code pour la conversion entre les types personnalisés :

package main

import (
    "fmt"
)

type MyInt int

func (m MyInt) ToString() string {
    return fmt.Sprintf("%d", m)
}

type MyFloat float32

func (m MyFloat) ToString() string {
    return fmt.Sprintf("%.2f", m)
}

func main() {
    var i MyInt = 10
    var f MyFloat = 3.14

    // MyInt to MyFloat
    var iToFloat MyFloat = MyFloat(i)
    fmt.Printf("MyInt to MyFloat: %s\n", iToFloat.ToString())

    // MyFloat to MyInt
    var fToInt MyInt = MyInt(f)
    fmt.Printf("MyFloat to MyInt: %s\n", fToInt.ToString())
}

Ici, nous définissons deux types personnalisés MyInt et MyFloat, et définissons respectivement une méthode ToString() pour eux, qui est utilisée pour convertir le type personnalisé en chaîne. Dans la fonction principale, nous définissons d'abord une variable de type MyInt i et une variable de type MyFloat f, puis convertissons les valeurs du type MyInt en type MyFloat et du type MyFloat en type MyInt, et enfin convertissons le résultat converti Convertir en type chaîne via la méthode ToString() pour une sortie facile.

En général, la conversion de valeur dans Golang est très simple. Il vous suffit d'utiliser la fonction de conversion de type correspondante ou une méthode de conversion de type personnalisée.

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