Golang convertissant la chaîne en int64

Je veux convertir une chaîne en int64. Ce que je trouve dans le paquetage strconv est la fonction Atoi . Il semble lancer une chaîne dans un int et la retourner:

 // Atoi is shorthand for ParseInt(s, 10, 0). func Atoi(s ssortingng) (i int, err error) { i64, err := ParseInt(s, 10, 0) return int(i64), err } 

Le ParseInt retourne effectivement un int64:

 func ParseInt(s ssortingng, base int, bitSize int) (i int64, err error){ //... } 

Donc, si je veux obtenir un int64 à partir d’une chaîne, devrais-je éviter d’utiliser Atoi, plutôt que d’utiliser ParseInt? Ou existe-t-il un Atio64 caché quelque part?

Non, il n’y a pas d’Atoi64. Vous devez également transmettre le 64 en tant que dernier paramètre à ParseInt ou ne pas produire la valeur attendue sur un système 32 bits.

Analyse de la chaîne dans int64 exemple:

 // Use the max value for signed 64 integer. http://golang.org/pkg/builtin/#int64 var s ssortingng = "9223372036854775807" i, err := strconv.ParseInt(s, 10, 64) if err != nil { panic(err) } fmt.Printf("Hello, %v with type %s!\n", i, reflect.TypeOf(i)) 

sortie:

Bonjour, 9223372036854775807 avec le type int64!

https://play.golang.org/p/XOKkE6WWer