legen Sie eine Funktion in go-Paket
Ich möchte über eine Funktion direkt aus einem Paket.
Also ich könnte mein Paket, sondern direkt von MeinPaket.Einigeöffentliche () - Methode.
package main
import (
"mypackage"
"fmt"
)
func main() {
var result = mypackage()
fmt.Println(result)
}
In node.js zum Beispiel, Sie können verfügbar machen eine anonyme Funktion
module.export = function() {
console.log('ta da!');
}
oder ein Objekt
module.export = {
doMagic: function() {
console.log('ta da!');
}
};
- Sie können nicht tun, im Gehen. Man kann nicht sagen
import "pkg"
und dannpkg()
. Die meisten Modul-Systeme nicht zulassen. CommonJS ist etwas besonderes 🙂
Du musst angemeldet sein, um einen Kommentar abzugeben.
Obwohl es keine direkte Analogie für Ihre Node.js Beispiel, was Sie tun können, Gehen so etwas wie eine "lokale importieren." Im Grunde, einen lokalen import-importiert alle Elemente - Funktionen, Typen, Variablen, usw. -, die von einem Paket exportiert in Ihrem lokalen Namensraum, so dass Sie zugegriffen werden kann, als wären Sie lokal definiert. Sie tun dies, indem Sie vor den package-Namen mit einem Punkt. Zum Beispiel:
(Siehe Aktion).
Dieser Arbeit wird für jedes Element, das
fmt
Exporte. Könnte man nicht eine ähnliche Sache mitmypackage
(dies wird geändert von dem code, den Sie geschrieben):Sie brauchen, um Ihre Struktur derzeit .. ich möchte annehmen, dass Ihr Inhalt ist in
src
Ordnersrc/main.go
src/mypackage/export.go
Laufen
go run main.go
Sie bekommen würdeGehen Pakete sind nicht das, was Sie vielleicht denken, Sie sind.
Es ist nicht das gleiche wie z.B.
#include
etc.