Maison  >  Article  >  développement back-end  >  Compétences en conversion de données Golang et partage d'exemples

Compétences en conversion de données Golang et partage d'exemples

PHPz
PHPzoriginal
2023-12-23 10:01:18893parcourir

Compétences en conversion de données Golang et partage dexemples

Les compétences et les exemples de conversion de données Golang sont partagés

Introduction :
Golang est un langage de programmation puissant qui fournit de nombreuses fonctions et techniques pratiques pour traiter divers types de données et conversions de formats. Cet article partagera quelques conseils pratiques pour la conversion de données dans Golang et fournira des exemples de code spécifiques.

1. Conversion entre chaînes et entiers
Dans Golang, la conversion entre chaînes et entiers est une exigence fréquemment rencontrée. Golang fournit le package strconv, dont les fonctions Atoi() et Itoa() peuvent facilement convertir des chaînes et des entiers les uns vers les autres.

  1. Chaîne en entier
    Exemple de code :
package main

import (
    "fmt"
    "strconv"
)

func main() {
    str := "123"
    num, err := strconv.Atoi(str)
    if err != nil {
        fmt.Println("转换失败:", err)
        return
    }
    fmt.Println("转换后的整数:", num)
}

Résultat d'exécution :
Entier converti : 123

  1. Entier en chaîne
    Exemple de code :
package main

import (
    "fmt"
    "strconv"
)

func main() {
    num := 123
    str := strconv.Itoa(num)
    fmt.Println("转换后的字符串:", str)
}

Résultat d'exécution :
Chaîne convertie : 3

2.Conversion entre chaînes et nombres à virgule flottante
En plus de la conversion entre chaînes et nombres entiers, Golang fournit également des fonctions de conversion entre chaînes et nombres à virgule flottante. Il s'agit d'une fonction très utile dans les calculs de prix ou dans d'autres scénarios nécessitant des calculs précis.

  1. Chaîne en nombre à virgule flottante
    Exemple de code :
package main

import (
    "fmt"
    "strconv"
)

func main() {
    str := "3.14"
    num, err := strconv.ParseFloat(str, 64)
    if err != nil {
        fmt.Println("转换失败:", err)
        return
    }
    fmt.Println("转换后的浮点数:", num)
}

Résultat d'exécution :
Numéro à virgule flottante converti : 3.14

  1. Numéro à virgule flottante en chaîne
    Exemple de code :
package main

import (
    "fmt"
    "strconv"
)

func main() {
    num := 3.14
    str := strconv.FormatFloat(num, 'f', -1, 64)
    fmt.Println("转换后的字符串:", str)
}

Résultat d'exécution :
Chaîne convertie : 3.14

3. Conversion entre tranches et chaînes
La conversion entre tranches et chaînes est également l'une des opérations courantes dans Golang. Nous pouvons convertir une chaîne en tranche et la modifier ; ou convertir une tranche en chaîne comme contenu de sortie ou de stockage.

  1. Chaîne à tranche
    Exemple de code :
package main

import (
    "fmt"
)

func main() {
    str := "hello"
    slice := []byte(str)
    slice[0] = 'H'
    fmt.Println("转换后的切片:", slice)
}

Résultat d'exécution :
Tranche convertie : [72 101 108 108 111]

  1. Découpe à chaîne
    Exemple de code :
package main

import (
    "fmt"
)

func main() {
    slice := []byte{'H', 'e', 'l', 'l', 'o'}
    str := string(slice)
    fmt.Println("转换后的字符串:", str)
}

Résultat d'exécution :
Chaîne convertie : Bonjour

4. Conversion entre d'autres types de données
En plus de la conversion entre des chaînes, des entiers et des nombres à virgule flottante, Golang fournit également des fonctions de conversion entre certains autres types de données, tels que les booléens et les caractères. Conversion entre chaînes, conversion entre heure et chaîne, etc. .

  1. Conversion entre booléen et chaîne
    Exemple de code :
package main

import (
    "fmt"
    "strconv"
)

func main() {
    b := true
    str := strconv.FormatBool(b)
    fmt.Println("转换后的字符串:", str)

    str2 := "true"
    bool, err := strconv.ParseBool(str2)
    if err != nil {
        fmt.Println("转换失败:", err)
        return
    }
    fmt.Println("转换后的bool:", bool)
}

Résultat d'exécution :
Chaîne convertie : vrai
Bool converti : vrai

  1. Conversion entre le temps et la chaîne
    Exemple de code :
package main

import (
    "fmt"
    "time"
)

func main() {
    now := time.Now()
    str := now.Format("2006-01-02 15:04:05")
    fmt.Println("转换后的字符串:", str)

    str2 := "2022-01-01 12:00:00"
    time, err := time.Parse("2006-01-02 15:04:05", str2)
    if err != nil {
        fmt.Println("转换失败:", err)
        return
    }
    fmt.Println("转换后的时间:", time)
}

Résultat d'exécution :
Converti chaîne : 2022-06-20 09:54:36
Heure de conversion : 2022-01-01 12:00:00 +0000 UTC

Résumé :
Cet article présente quelques techniques pratiques de conversion de données dans Golang et fournit des exemples de code spécifiques. . Grâce à ces techniques, nous pouvons facilement convertir entre différents types de données et améliorer la flexibilité et la réutilisabilité du code. J'espère que les lecteurs pourront utiliser ces techniques dans le développement réel pour améliorer l'efficacité du travail.

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