Maison >développement back-end >Golang >Comment exporter toutes les fonctions souhaitées lors de la compilation d'un programme Go vers WASM ?
Problème :
Lors de la compilation d'un programme Go vers WASM, seul un sous-ensemble du les fonctions exportées sont conservées. Cela peut être problématique si vous avez besoin d'accéder à des fonctions spécifiques depuis JavaScript.
Question :
Comment exporter toutes les fonctions souhaitées lors de la compilation d'un programme Go vers WASM ?
Réponse :
Utilisation de TinyGo :
Si vous envisagez de vous concentrer sur le développement WASM, envisagez d'utiliser TinyGo. TinyGo fournit une directive de commentaire //export qui vous permet de spécifier quelles fonctions doivent être exportées.
<code class="go">// This function is exported to JavaScript, so can be called using // exports.multiply() in JavaScript. //export multiply func multiply(x, y int) int { return x * y; }</code>
Utilisation du compilateur Go standard (expérimental) :
Le Le compilateur Go standard a une discussion en cours sur la réplication de la fonctionnalité d'exportation de TinyGo. Une solution potentielle consiste à définir des fonctions sur l'espace de noms global JS à l'aide de js.Global().Set(...).
Exemple :
<code class="go">package main import ( "github.com/gopherjs/gopherjs/js" ) func main() { js.Global().Set("MyFunc", MyFunc) } func MyFunc() { fmt.Println("MyFunc called from JavaScript") }</code>
Compilation :
Compilez le programme Go vers WASM à l'aide de la commande suivante :
<code class="sh">GOOS=js GOARCH=wasm go build -o main.wasm main.go</code>
Cela devrait exporter la fonction MyFunc et la rendre accessible à JavaScript.
Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!