Um tipo de dados fornecido nativamente pela linguagem de programação GO é uma string. Uma string permite que você armazene uma sequência de caracteres, incluindo caracteres alfanuméricos.
Em alguns casos, você pode ter um valor numérico armazenado em um formato de string. Para executar quaisquer operações envolvendo um tipo int, você deve convertê -lo em um INT.
Este tutorial o ajudará a descobrir vários métodos e técnicas de converter uma string em um INT em Go.
Golang Criar string
Em Go, usamos aspas duplas para representar uma string. Um programa de exemplo é mostrado abaixo:
Pacote principal
importar "fmt"
func main ()
var valor = “1000”
fmt.Println (valor)
Temos uma variável de string segurando um valor 'numérico' no programa de exemplo. Lembre -se de que o valor pode parecer numérico para nós, mas o valor é uma string para o compilador.
Portanto, se uma operação matemática no valor for tentada, o compilador retornará um erro.
Pacote principal
importar "fmt"
func main ()
var valor = “1000”
fmt.Println (valor * 3)
A saída do compilador será:
$ go run string_to_int.ir
# Argumentos de linha de comando
.\ string_to_int.GO: 7: 14: Operação inválida: Valor * 3 (String de tipos incompatíveis e Int não
Golang parse string para int #1
GO fornece a função Atoi () do pacote strConv para analisar uma string para um tipo int.
https: // pkg.ir.Dev/strConv#Atoi
Por exemplo, para converter a variável 'valor' do programa anterior para um int:
Pacote principal
importação (
"FMT"
"strconv"
)
func main ()
Valor: = "1000"
Se n, err: = strconv.Atoi (valor); err == nil
fmt.Println (n * 3)
Do programa acima, começamos importando o pacote STRCONV. Isso nos dá acesso à função Atoi (). Em seguida, usamos a função ATOI () para analisar a string a uma int e executar uma operação matemática.
Podemos verificar o tipo de valor como:
Pacote principal
importação (
"FMT"
"strconv"
)
func main ()
Valor: = "1000"
Se n, err: = strconv.Atoi (valor); err == nil
fmt.Printf ("%t \ n", n)
fmt.Println (n * 3)
O programa resulta em saída como:
$ go run string_to_int.ir
int
3000
Embora usemos a função Atoi () para converter uma string em um INT, devemos garantir que o valor possa ser convertido em um int.
Se tentarmos converter uma string como um nome em um int, a função levantará um erro.
Tomemos, por exemplo, o programa abaixo:
Pacote principal
importação (
"FMT"
"registro"
"strconv"
)
func main ()
Valor: = "Linuxhint"
n, err: = strConv.Atoi (valor)
registro.Fatal (ERR)
fmt.Println (n)
No código acima, estamos tentando converter a string "Linuxhint" em uma string que é um formato não suportado.
O código acima deve levantar um erro como:
$ go run string_to_int.ir
2022/05/31 02:15:22 STRCONV.Atoi: Parsing "Linuxhint": sintaxe inválida
status de saída 1
Golang parse string para int #2
No pacote STRCONV, temos acesso à função Parseint, que nos permite analisar uma string a uma determinada base (0, 2 a 36).
https: // pkg.ir.Dev/strconv#Parseint
Vamos dar um exemplo como mostrado abaixo:
Pacote principal
importação (
"FMT"
"strconv"
)
func main ()
Valor: = "1000"
Se n, err: = strconv.Parseint (valor, 10, 64); err == nil
fmt.Printf (" %t: %v \ n", n, n)
Preste atenção na função parseint (). Passamos três argumentos principais: o primeiro é o valor que desejamos analisar para uma int e o segundo representa a base. A base é um valor que varia de 0 ou 2 a 36.
O argumento final é o tamanho do bit que especifica o tipo inteiro que o valor resultante se encaixa. Os valores aceitos incluem 0, 8, 16, 32 e 64, em conformidade com int, int8, int16, int32 e int64.
Pensamentos finais
Você aprendeu a converter uma string para um tipo int em passar por este tutorial.