Maison  >  Article  >  développement back-end  >  Analyse approfondie de la méthode de conversion entre chaînes et nombres dans Golang

Analyse approfondie de la méthode de conversion entre chaînes et nombres dans Golang

PHPz
PHPzoriginal
2024-01-16 09:18:191255parcourir

Analyse approfondie de la méthode de conversion entre chaînes et nombres dans Golang

En Golang, la conversion entre chaînes et nombres est une opération très courante. Cet article présentera en détail la méthode de conversion mutuelle entre les chaînes et les nombres dans Golang et fournira des exemples de code spécifiques.

1. Convertir une chaîne en nombre

Dans Golang, il existe plusieurs méthodes pour convertir une chaîne en nombre :

  1. Utilisez la fonction Atoi() du package strconv

La fonction Atoi() peut convertir une chaîne Convertir en un nombre de type int. L'exemple de code est le suivant :

package main

import (
    "fmt"
    "strconv"
)

func main() {
    str := "123"
    num, err := strconv.Atoi(str)
    if err != nil {
        fmt.Println("字符串转换为数字失败")
    } else {
        fmt.Printf("转换后的数字是%d,类型是%T", num, num)
    }
}

Résultats d'exécution :

转换后的数字是123,类型是int
  1. Utilisez la fonction ParseInt() du package strconv

Fonction ParseInt() pour convertir une chaîne en un nombre arbitraire. L'exemple de code est le suivant :

package main

import (
    "fmt"
    "strconv"
)

func main() {
    str := "101"
    num, err := strconv.ParseInt(str, 2, 0)
    if err != nil {
        fmt.Println("字符串转换为数字失败")
    } else {
        fmt.Printf("转换后的数字是%d,类型是%T", num, num)
    }
}

Résultats d'exécution :

转换后的数字是5,类型是int64
  1. Utilisez la fonction Scanf() du package fmt

Fonction Scanf() pour convertir la chaîne d'entrée en nombre. L'exemple de code est le suivant :

package main

import (
    "fmt"
)

func main() {
    var num int
    fmt.Printf("请输入一个数字:")
    _, err := fmt.Scanf("%d", &num)
    if err != nil {
        fmt.Println("输入错误")
    } else {
        fmt.Printf("转换后的数字是%d,类型是%T", num, num)
    }
}

Résultats d'exécution :

请输入一个数字:123
转换后的数字是123,类型是int

2. Convertir des nombres en chaînes

Dans Golang, il existe les méthodes suivantes pour convertir des nombres en chaînes :

  1. Utilisez la fonction Itoa() du strconv package

La fonction Itoa() peut convertir les nombres de type int en chaînes. L'exemple de code est le suivant :

package main

import (
    "fmt"
    "strconv"
)

func main() {
    num := 123
    str := strconv.Itoa(num)
    fmt.Printf("转换后的字符串是%s,类型是%T", str, str)
}

Résultats d'exécution :

转换后的字符串是123,类型是string
  1. Utilisez la fonction Sprintf() du package fmt

La fonction Sprintf() peut convertir tout type de données en chaîne. L'exemple de code est le suivant :

package main

import (
    "fmt"
)

func main() {
    num := 123
    str := fmt.Sprintf("%d", num)
    fmt.Printf("转换后的字符串是%s,类型是%T", str, str)
}

Résultats d'exécution :

转换后的字符串是123,类型是string
  1. Utilisez la fonction FormatInt() du package strconv

Fonction FormatInt() pour convertir n'importe quel nombre en chaîne. L'exemple de code est le suivant :

package main

import (
    "fmt"
    "strconv"
)

func main() {
    num := 5
    str := strconv.FormatInt(int64(num), 2)
    fmt.Printf("转换后的字符串是%s,类型是%T", str, str)
}

Résultats d'exécution :

转换后的字符串是101,类型是string

Résumé :

Ce qui précède est une explication détaillée de la méthode de conversion mutuelle entre les chaînes et les nombres dans Golang, et des exemples de code spécifiques sont fournis. Dans le développement réel, le choix d'une méthode de conversion appropriée peut améliorer l'efficacité du code. Dans le même temps, il convient de prêter attention aux erreurs pouvant survenir lors du processus de 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!

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