Structs

Generic structs funcionam da mesma forma que qualquer outro generic type. Sendo assim, quando instanciada, deve-se passar os tipos que a struct vai usar:


modelInt := Model[int]{
    Data: []int{1, 2, 3},
}
                        

Se você declarar métodos em um tipo genérico, deverá repetir a declaração do parâmetro de tipo no receptor, mesmo que os parâmetros de tipo não sejam usados no escopo do método — nesse caso, você pode usar o identificador _ para torná-lo óbvio

Um detalhe importante é que — diferentemente das funções —, os tipos genéricos devem sempre fornecer todos os parâmetros de tipo na instanciação.

structs.go