Maison  >  Article  >  développement back-end  >  Comment convertir des nombres en chaînes en langage Go

Comment convertir des nombres en chaînes en langage Go

藏色散人
藏色散人original
2020-12-18 15:08:557438parcourir

Comment convertir des nombres en chaînes dans le langage Go : créez d'abord un exemple de fichier go ; puis utilisez la méthode "strconv.Itoa" dans le package strconv pour convertir la valeur de type octet ou int en la représentation sous forme de chaîne de le numéro C'est tout.

Comment convertir des nombres en chaînes en langage Go

L'environnement de cet article : Système Windows 7, version Go1.11.2, cet article est applicable à toutes les marques d'ordinateurs.

Tutoriel recommandé : "Tutoriel du langage Go"

La posture correcte pour convertir des nombres en chaînes dans Go

Dans de nombreux langages , vous pouvez facilement convertir n'importe quel type de données en chaîne en le concaténant avec une chaîne ou en utilisant une expression de conversion de type. Cependant, si vous essayez de faire quelque chose qui semble évident dans Go (comme convertir un int en chaîne), il est peu probable que vous obteniez l'effet souhaité.

Par exemple :

string(120)

Quel résultat espérez-vous obtenir ? Si vous avez de l'expérience avec d'autres langages de programmation, la plupart des gens pensent "123". En revanche, la conversion de type ci-dessus dans Go donnerait une valeur telle que "E", ce qui n'est pas du tout ce que nous voulons. Parce que string() convertira directement les octets ou les nombres en représentation UTF-8 des caractères.

Donc, la bonne façon de convertir une valeur de type octet ou int en une représentation sous forme de chaîne d'un nombre dans Go est d'utiliser la méthode du package strconv, telle que strconv.Itoa.

strconv.Itoa(120)// 返回"120"

Pour l'exemple ci-dessous, vous pouvez essayer de changer strconv.Itoa en string pour voir quel résultat vous obtenez.

package main
import (
  "fmt"
  "strings"
  "strconv"
)
type IPAddr [4]byte
func (p IPAddr) String() string {
    var ipParts []string
    for _, item := range p {
ipParts = append(ipParts, strconv.Itoa(int(item)))
    }
    return strings.Join(ipParts, ".")
}
func main() {
    hosts := map[string]IPAddr{
"loopback":  {127, 0, 0, 1},
"googleDNS": {8, 8, 8, 8},
    }
    for name, ip := range hosts {
fmt.Printf("%v: %v\n", name, ip)
    }
}

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