spluggy : Compile-Time-Plugins für GoDas Organisieren Ihres Codes als Plugins bietet viele Vorteile und bietet hervorragende Unterstützung für sie. Die Einschränkung (neben Abhängigkeit Hölle) ist, dass Sie den coolen, einzelnen Binärvorteil von Go verlieren.
spluggy gibt Ihnen das Beste aus beiden Welten: statische Plugins. Sie definieren Ihre Plugins als Unterpackungen im selben Paket. Solange sie alle eine Funktion mit demselben Namen aufdecken, entdeckt spluggy sie automatisch und macht die Funktion für externe Pakete zugänglich.
Eine funktionierende App ist in einem Beispiel, das zeigt, wie spluggy mit go generate . Die Hilfslinienschnittstelle lautet:
Usage: spluggy <flags> <package directory>
With flags:
-func string
The exposed function name
-out string
Output file name (default "plugins.go")
-pkg string
The base package
-v Enable verbose output
Derzeit kann spluggy Struktur -Typ -Abhängigkeiten, die in einer map definiert sind, z.
// spluggy cannot infer that "somepackage" shoud be imported
func Fn ( map [somepackage. SomeStructType ] int ) {
...
}Dies wird in der nächsten Version behandelt.
spluggy ist eine Arbeit von ❤️ von codoma.tech.