Solucionado (ver solução)
Solucionado
(ver solução)
2
respostas

float32

Meu código fica dando erro quando eu especifico que a variável é um float32, eu só consegui rodar o código deixando ela como float64 por padrão sem precisar especificar.

package main

import (
    "fmt"
    "reflect"
)

func main() {
    nome := "Thiago"
    idade := 20
    versao float32 := 1.1
    fmt.Println("Meu nome é", nome, "e minha idade é", idade)
    fmt.Println("A versão desse código é a", versao)

    fmt.Println(reflect.TypeOf(versao))
}
2 respostas
solução!

Olá, Thiago! Tudo bem?

O erro está acontecendo pois na linguagem Go, quando declaramos o tipo de uma variável, não usamos o operador de atribuição :=, mas sim o operador =.

O operador := é uma forma curta de declarar e inicializar uma variável em Go, mas ele infere automaticamente o tipo da variável com base no valor atribuído. Portanto, quando queremos especificar o tipo da variável, deve usar a palavra-chave var, o nome da variável, o tipo e o operador = para atribuir o valor.

Dessa forma, ao invés de versao float32 := 1.1, devemos declarar var versao float32 = 1.1, deixando o nosso código da seguinte maneira:

package main

import (
    "fmt"
    "reflect"
)

func main() {
    nome := "Thiago"
    idade := 20
    var versao float32 = 1.1
    fmt.Println("Meu nome é", nome, "e minha idade é", idade)
    fmt.Println("A versão desse código é a", versao)

    fmt.Println(reflect.TypeOf(versao))
}

Espero ter ajudado! Caso tenha ficado alguma dúvida, sinta-se à vontade em comunicar, estou à disposição!

Um forte abraço e bons estudos!

Caso este post tenha te ajudado, por favor, marcar como solucionado ✓

Muito obrigado pela ajuda!