string - single - Golang convierte cadena a int64
string to int64 golang (2)
Analizando cadena en el ejemplo de int64:
// Use the max value for signed 64 integer. http://golang.org/pkg/builtin/#int64
var s string = "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))
salida:
Hola, 9223372036854775807 con tipo int64!
Quiero convertir una cadena a int64. Lo que encuentro del paquete strconv
es la función Atoi
. Parece lanzar una cadena a un int y devolverlo:
// Atoi is shorthand for ParseInt(s, 10, 0).
func Atoi(s string) (i int, err error) {
i64, err := ParseInt(s, 10, 0)
return int(i64), err
}
El ParseInt en realidad devuelve un int64:
func ParseInt(s string, base int, bitSize int) (i int64, err error){
//...
}
Entonces, si quiero obtener un int64 de una cadena, ¿debo evitar usar Atoi, en su lugar usar ParseInt? ¿O hay un Atio64 escondido en algún lugar?
No, no hay Atoi64. También debe pasar el 64 como el último parámetro a ParseInt, o puede no producir el valor esperado en un sistema de 32 bits.