Convertir cadena a Int64 en Go

Jay Singh 23 agosto 2022
Convertir cadena a Int64 en Go

Un int generalmente se usa para un índice, longitud o capacidad. El tipo int siempre es lo suficientemente grande para manejar la longitud máxima de un array.

Los tipos de datos int8, int16, int32 e int64 (así como sus primos sin firmar) son los mejores. Cuando la memoria no es un problema, un int64 es la opción más común.

En esta publicación, convertiremos una cadena en un int64.

Convierta String a Int64 usando Parselnt() en Go

strconv.ParseInt() es una función integrada en Go que analiza una cadena decimal (base 10) y comprueba si encaja en un int64. La implementación determina el tamaño de un int; puede ser de 32 o 64 bits, por lo que cambiar de int a int64 no provoca pérdida de datos.

En este ejemplo, strconv.ParseInt() se usa para convertir una cadena decimal (base 10) en un entero con signo de 64 bits y confirmar que encaja.

package main

import (
    "fmt"
    "strconv"
)

func main() {
    str := "10101101"
    n, err := strconv.ParseInt(str, 10, 64)
    if err == nil {
        fmt.Printf("%d is type %T", n, n)
    }
}

Producción :

10101101 is type int64

Además, ParseInt traduce una cadena y devuelve el valor apropiado en la base proporcionada (0, 2 a 36) y el tamaño de bits (0 a 64). Este método toma un parámetro de cadena y, mediante un parámetro base, lo convierte en un tipo int.

Devuelve un valor Int64 por defecto.

package main

import (
    "fmt"
    "reflect"
    "strconv"
)

func main() {
    strVar := "110"

    intVar, err := strconv.ParseInt(strVar, 0, 8)
    fmt.Println(intVar, err, reflect.TypeOf(intVar))

    intVar, err = strconv.ParseInt(strVar, 0, 16)
    fmt.Println(intVar, err, reflect.TypeOf(intVar))

    intVar, err = strconv.ParseInt(strVar, 0, 32)
    fmt.Println(intVar, err, reflect.TypeOf(intVar))

    intVar, err = strconv.ParseInt(strVar, 0, 64)
    fmt.Println(intVar, err, reflect.TypeOf(intVar))
}

Producción :

110 <nil> int64
110 <nil> int64
110 <nil> int64
110 <nil> int64

Artículo relacionado - Go String