ExpertiDict

Go · Intermediário · Inglês · Técnico

type assertion

/taɪp əˈsɝʃən/substantivo

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

Veja também

Todos os termos de Go