Sobes.tech
Junior — Middle

Quali restrizioni esistono nel linguaggio Go affinché un'interfaccia non possa essere dichiarata vuota?

sobes.tech AI

Risposta dell'AI

Nel linguaggio Go, un'interfaccia può essere dichiarata vuota — questo è un caso speciale di interfaccia che non contiene metodi e viene indicata come interface{}.

Un'interfaccia vuota può contenere valori di qualsiasi tipo, poiché tutti i tipi la implementano automaticamente.

Pertanto, non ci sono restrizioni sulla dichiarazione di un'interfaccia vuota in Go — è una tecnica valida e comunemente usata.

Se la domanda è come fare in modo che un'interfaccia non sia vuota, basta dichiarare almeno un metodo:

// Interfaccia vuota
var i interface{}

// Interfaccia con metodo
type Reader interface {
    Read(p []byte) (n int, err error)
}

In questo modo, un'interfaccia vuota è un elemento di base in Go, e non ci sono restrizioni sulla sua dichiarazione.