Avatar ·

Como determinar o tipo de uma variável em Go: métodos e exemplos

Olá a todos! Acabei de começar a estudar Go e me deparei com um problema. Em outras linguagens, como Python ou JavaScript, posso facilmente descobrir o tipo de uma variável usando type() ou typeof. Mas em Go não consigo encontrar uma maneira simples de fazer isso. Aqui está um exemplo que me confunde: ```go package main import "fmt" func main() { var x interface{} x = 42 // Como descubro que x é um int? fmt.Println(x) // Apenas imprime 42 } ``` Entendo que Go é uma linguagem estaticamente tipada e, geralmente, os tipos são conhecidos em tempo de compilação. Mas o que fazer quando trabalho com interface vazia (interface{}) ou com dados de JSON? Por exemplo, recebo uma resposta de uma API que pode conter diferentes tipos de dados: strings, números, booleanos. Como posso determinar programaticamente qual tipo está armazenado em uma variável? Tentei usar fmt.Printf("%T", x), mas isso é apenas para depuração. Preciso verificar o tipo no código para executar diferentes ações dependendo dele. Por exemplo: - Se