Go · Avançado · Português · Técnico
união de tipos
Lista de tipos separados por barra vertical em uma interface de constraint, como int | string. Define exatamente quais tipos o parâmetro genérico aceita.
Onde usar
Usada para criar constraints numéricas ou textuais próprias. Pode combinar com til, como ~int | ~string, para incluir tipos definidos.
Em código
type IntOuTexto interface {
int | string
}
func Mostrar[T IntOuTexto](x T) {
fmt.Println(x)
}
// Mostrar(3) e Mostrar("a") okExemplos
Declarei uma união de tipos com int e string para a constraint.
Não dá para guardar um valor numa variável cujo tipo é uma união de tipos.
Cuidado
Não funciona como union type de linguagens como TypeScript: a interface só serve como constraint, nunca como tipo de variável.
Sinônimos
type union