Go · Intermediário · Inglês · Técnico
type assertion
Operação x.(T) que extrai de uma interface o valor concreto de tipo T. A forma com ok evita panic quando o tipo não confere.
Onde usar
'v, ok := x.(Stringer)' também testa se o valor tem certo comportamento. Sem o ok, vira panic se o tipo estiver errado.
Em código
var v any = "go"
s := v.(string)
n, ok := v.(int)
fmt.Println(s, n, ok)Exemplos
Use the comma ok form of the type assertion to avoid a panic.
Use a forma comma ok da type assertion para evitar um panic.
The type assertion failed because it holds an int.
A type assertion falhou porque o valor guarda um int.
Cuidado
Só se aplica a interfaces; para converter entre tipos concretos use conversão de tipo.
Sinônimos
asserção de tipo