-
Notifications
You must be signed in to change notification settings - Fork 0
Description
in questa posizione la funzione interno.Store() non ha niente collegato con il embedding dell'interfaccia interno.Storer in interfaccia Extender perché viene direttamente chiamata dal pacchetto "interno".
lo stesso embedding (Storer in Extender) può essere ignorato totalmente.
l'utilizzo dell'interfaccia Storer avviene nel modulo "interno", l'interfaccia stessa viene definita qui e la funzione Store ha come input un dato di tipo Storer. A questo punto, go non accerterà che alla funzione Store li sia passato un dato che non implementa questa interfaccia.
Quando nel pacchetto "medio" viene chiamata la funzione interno.Store(o) go verificherà se l'oggetto "o" implementa l'interfaccia interno.Storer cioè, verificherà se "o" ha implementata la funzione "ToStoreFormat() string" e questa accade qui. Quindi, la funzione interno.Store(o) viene soddisfatta al interno del pacchetto "interno" con la condizione che l'oggetto passato può esse usato come Storer. Risulta che l'embedding al interno del pacchetto "medio" non è necessario questo si può verificare tramite il commit 6a71769