Sobes.tech
Junior — Middle

Explique o princípio de funcionamento da construção type switch na linguagem Go e em que ela difere do switch-case comum.

sobes.tech IA

Resposta da IA

Na linguagem Go, a construção type switch é usada para determinar um tipo específico de um valor de interface em tempo de execução. Ela permite executar ações diferentes dependendo do tipo ao qual a variável que implementa a interface pertence.

Exemplo de sintaxe:

switch v := x.(type) {
case int:
    fmt.Println("int", v)
case string:
    fmt.Println("string", v)
default:
    fmt.Println("outro tipo")
}

Aqui, x é uma variável de tipo interface, e v é uma variável com um tipo específico dentro de cada case.

Diferença para o switch-case comum:

  • O switch comum compara o valor da expressão com constantes ou expressões.
  • O type switch compara o tipo do valor da interface, não o valor em si.

O type switch é útil para trabalhar com interfaces, quando é necessário realizar ações diferentes dependendo do tipo real do objeto armazenado na interface.