Link zum Spielplatz: Ссылка
%Vor% Wenn ich eine Vorlage (über das text/template
-Paket) rendere, die {{ .Something.Name }}
enthält, kann ich durch die Schnittstelle Foo
gehen, die keine Methoden enthält, und es funktioniert gut. Aber wenn ich stattdessen durch die Schnittstelle Bar
gehe, bekomme ich:
Warum beeinflusst das Vorhandensein einer nicht verwandten Methode auf der Schnittstelle, die nicht einmal verwendet wird, das Rendering der Vorlage?
text / template ist eine spezielle Casing-Schnittstelle {}, so genannte Funktionen können die Rückgabetyp-Schnittstelle {} usw. haben. Das Hinzufügen einer Methode zu Ihrer Schnittstelle bedeutet, dass die Erkennung nicht länger ausgelöst wird.
%Vor%BarContext.Something ist eine Bar (eine Schnittstelle). Eine Leiste hat keinen Feldnamen. Wenn Sie dort eine Schnittstelle verwenden möchten, müssen Sie die Daten über eine Methode bereitstellen, die Teil der Schnittstelle ist.
Tags und Links go interface go-templates