Maison > développement back-end > Golang > le corps du texte

Comment exporter les noms de fonctions dans Go WASM ?

Barbara Streisand
Libérer: 2024-10-28 17:23:30
original
454 Les gens l'ont consulté

How to Export Function Names in 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>
Copier après la connexion

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>
Copier après la connexion

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!

source:php.cn
Déclaration de ce site Web
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn
Derniers articles par auteur
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal
À propos de nous Clause de non-responsabilité Sitemap
Site Web PHP chinois:Formation PHP en ligne sur le bien-être public,Aidez les apprenants PHP à grandir rapidement!