ExpertiDict

Go · Avançado · Inglês · Técnico

method set

/ˈmɛθəd sɛt/substantivo

Conjunto de métodos que um tipo possui para fins de interface: T inclui só métodos de receiver valor, e *T inclui os de valor e os de ponteiro.

Onde usar

Explica o erro 'T does not implement I (method M has pointer receiver)'. A solução é guardar &T na interface ou mudar o receiver do método.

Em código

type S interface{ Set() }
type T struct{}
func (*T) Set() {}
// var _ S = T{} // erro: receiver ponteiro
var _ S = &T{}   // ok
var t T
t.Set()          // ok, t é endereçável

Exemplos

The value type's method set doesn't include pointer methods.

O method set do tipo valor não inclui os métodos de ponteiro.

Store a pointer in the interface to satisfy the method set.

Guarde um ponteiro na interface para satisfazer o method set.

Cuidado

Variáveis endereçáveis chamam métodos de ponteiro direto (v.M()), mas isso é açúcar do compilador e não altera o method set do tipo.

Sinônimos

conjunto de métodos

Veja também

Todos os termos de Go