A conversão de tipos é o ato de forçar uma expressão a utilizar e retornar um determinado tipo. Também chamamos esta modalidade de “Casting”. A conversão de um tipo de dado em número ou em literal é muito comum em situações de programação.
Como o Go é uma linguagem de tipagem estática, os tipos de dados são vinculados às variáveis e não aos valores. Isso significa que, se você definir uma variável como int
, ela só poderá ser uma int
, você não poderá atribuir-lhe uma string
sem converter o tipo de dados da variável.
Inteiro para float
No exemplo abaixo, iremos converter um número inteiro para ponto flutuante, ao final a variável numero2
ficará com o valor 100.00
ao invés de 100
.
var numero1 int64 = 100
var numero2 float64 = float64(numero1)
Float para inteiro
O Go pode converter os floats em inteiros, mas o programa perderá a precisão do float.
Envolver os floats em inteiros, ou um de seus tipos de dados de arquitetura independente, funciona de maneira similar à que usou para converter de um tipo inteiro a outro tipo.
var numero1 float64 = 99.9
var numero2 int = int(numero1)
A variável numero2
terá o valor 99
ao invés 99.9
.
Números para strings
Para converter números em strings, podemos usar o método strconv.Itoa
, ele faz parte do pacote strconv
. Ele faz a conversão de números ou variáveis para string.
Inicialmente faremos a conversão de um número inteiro para strings através do método strconv.Itoa
:
package main
import (
"fmt"
"strconv"
)
func main() {
numero := strconv.Itoa(5)
fmt.Printf(numero)
}
No caso da necessidade de converter um float em string, podemos usar o método ftm.Sprint
, a partir do pacote fmt
.
package main
import (
"fmt"
)
func main() {
fmt.Println(fmt.Sprint(421.034))
}
Strings para números
That's all folks! ✌️
Top comments (0)