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.