Maison >développement back-end >Golang >Comment exporter les noms de fonctions dans Go WASM ?
Exposition des noms de fonctions dans les exportations Go WASM
Lors de la compilation du code Go vers WASM, vous pouvez rencontrer une situation dans laquelle vous souhaitez conserver les noms de fonctions dans le fichier .wasm résultant. Par défaut, le compilateur Go standard n'exporte pas les noms de fonctions pendant le processus de compilation.
Pour obtenir l'exportabilité des noms de fonctions, vous avez deux options :
1. L'utilisation de TinyGo
TinyGo, un compilateur Go intégré et orienté WASM, prend en charge l'exportation de fonctions via les directives de commentaires //export ou //go:export. Voici un exemple :
<code class="Go">//export multiply func multiply(x, y int) int { return x * y; }</code>
Lors de la compilation avec TinyGo (par exemple, tinygo build -o wasm.wasm -target wasm ./main.go), la fonction de multiplication sera exposée dans le fichier WASM résultant.
2. Utilisation du compilateur Go standard (expérimental)
Le compilateur Go standard travaille actuellement sur l'introduction d'une fonctionnalité similaire à la directive //export de TinyGo. Cependant, cette fonctionnalité est encore en développement. Comme alternative, vous pouvez utiliser la fonction js.Global().Set(...) pour définir les fonctions Go comme propriétés de l'espace de noms global JS.
Exemple :
<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>
Cette approche vous permet d'exposer la fonction de multiplication dans l'espace de noms JavaScript global, la rendant accessible dans votre code WASM.
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!