Un tipo de datos proporcionado de forma nativa por el lenguaje de programación GO es una cadena. Una cadena le permite almacenar una secuencia de caracteres, incluidos los caracteres alfanuméricos.
En algunos casos, puede tener un valor numérico almacenado en un formato de cadena. Para realizar cualquier operación que involucre un tipo int, debe convertirlo en un int.
Este tutorial lo ayudará a descubrir varios métodos y técnicas de convertir una cadena en un int ino.
Golang Crear cadena
En Go, usamos comillas dobles para representar una cadena. A continuación se muestra un programa de ejemplo:
paquete principal
Importar "FMT"
func Main ()
valor var = "1000"
fmt.Println (valor)
Tenemos una variable de cadena que contiene un valor 'numérico' en el programa de ejemplo. Tenga en cuenta que el valor puede parecer numérico para nosotros, pero el valor es una cadena para el compilador.
Por lo tanto, si se intenta una operación matemática en el valor, el compilador devolverá un error.
Paquete principal
Importar "FMT"
func Main ()
valor var = "1000"
fmt.Println (valor * 3)
La salida del compilador será:
$ Go Run String_to_int.ir
# argumentos de línea de comandos
.\ string_to_int.Ir: 7: 14: Operación no válida: Valor * 3 (Cadena de tipos no coincidentes e int -typed int)
Cadena de análisis de Golang a Int #1
GO proporciona la función Atoi () desde el paquete STRCONV para analizar una cadena a un tipo INT.
https: // pkg.ir.dev/strconv#atoi
Por ejemplo, para convertir la variable 'valor' del programa anterior a un int:
paquete principal
importar (
"FMT"
"strconv"
)
func Main ()
Valor: = "1000"
Si n, err: = strconv.ATOI (valor); err == nil
fmt.Println (n * 3)
Desde el programa anterior, comenzamos importando el paquete strconv. Esto nos da acceso a la función ATOI (). Luego usamos la función Atoi () para analizar la cadena a un INT y realizar una operación matemática.
Podemos verificar el tipo de valor como:
paquete principal
importar (
"FMT"
"strconv"
)
func Main ()
Valor: = "1000"
Si n, err: = strconv.ATOI (valor); err == nil
fmt.Printf ("%t \ n", n)
fmt.Println (n * 3)
El programa da como resultado la salida como:
$ Go Run String_to_int.ir
En t
3000
Aunque usamos la función Atoi () para convertir una cadena a un int, debemos asegurarnos de que el valor se pueda convertir a un int.
Si intentamos convertir una cadena como un nombre a un int, la función aumentará un error.
Tomemos, por ejemplo, el siguiente programa:
paquete principal
importar (
"FMT"
"registro"
"strconv"
)
func Main ()
Valor: = "Linuxhint"
n, err: = strconv.Atoi (valor)
registro.Fatal (err)
fmt.Println (n)
En el código anterior, estamos intentando convertir la cadena "Linuxhint" en una cadena que es un formato no compatible.
El código anterior debe plantear un error como:
$ Go Run String_to_int.ir
2022/05/31 02:15:22 Strconv.ATOI: analizador "Linuxhint": sintaxis no válida
Estado de salida 1
Cadena de análisis de Golang a Int #2
En el paquete STRCONV, tenemos acceso a la función de Parseint que nos permite analizar una cadena a una base dada (0, 2 a 36).
https: // pkg.ir.dev/strconv#parseint
Tomemos un ejemplo como se muestra a continuación:
paquete principal
importar (
"FMT"
"strconv"
)
func Main ()
Valor: = "1000"
Si n, err: = strconv.Parseint (valor, 10, 64); err == nil
fmt.Printf (" %t: %v \ n", n, n)
Presta atención a la función parseint (). Pasamos tres argumentos principales en él: el primero es el valor que deseamos analizar a un int y el segundo representa la base. La base es un valor que varía de 0, o 2 a 36.
El argumento final es el tamaño de bit que especifica el tipo entero que se ajusta al valor resultante. Los valores aceptados incluyen 0, 8, 16, 32 y 64, conformes a Int, int8, int16, int32 e int64.
Pensamientos finales
Aprendiste a convertir una cadena a un tipo int tyte en este tutorial.