Heim >Backend-Entwicklung >Golang >Wie exportiere ich Funktionsnamen in Go WASM?
Funktionsnamen in Go WASM-Exporten verfügbar machen
Beim Kompilieren von Go-Code in WASM kann es vorkommen, dass Sie Funktionsnamen beibehalten möchten in der resultierenden .wasm-Datei. Standardmäßig exportiert der Standard-Go-Compiler während des Kompilierungsprozesses keine Funktionsnamen.
Um die Exportierbarkeit von Funktionsnamen zu erreichen, haben Sie zwei Möglichkeiten:
1. Mit TinyGo
TinyGo, ein eingebetteter und WASM-orientierter Go-Compiler, bietet Unterstützung für den Export von Funktionen über die Kommentardirektiven //export oder //go:export. Hier ist ein Beispiel:
<code class="Go">//export multiply func multiply(x, y int) int { return x * y; }</code>
Beim Kompilieren mit TinyGo (z. B. tinygo build -o wasm.wasm -target wasm ./main.go) wird die Multiplikationsfunktion in der resultierenden WASM-Datei angezeigt.
2. Verwendung des Standard-Go-Compilers (experimentell)
Der Standard-Go-Compiler arbeitet derzeit an der Einführung einer Funktion ähnlich der //export-Direktive von TinyGo. Diese Funktion befindet sich jedoch noch in der Entwicklung. Alternativ können Sie die Funktion js.Global().Set(...) verwenden, um Go-Funktionen als Eigenschaften des globalen JS-Namespace festzulegen.
Beispiel:
<code class="Go">import ( "github.com/gopherjs/gopherjs/js" ) func main() { js.Global().Set("multiply", multiply) } func multiply(x, y int) int { return x * y; }</code>
Mit diesem Ansatz können Sie die Multiplikationsfunktion im globalen JavaScript-Namespace verfügbar machen und sie so in Ihrem WASM-Code zugänglich machen.
Das obige ist der detaillierte Inhalt vonWie exportiere ich Funktionsnamen in Go WASM?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!