Go WASM エクスポートで関数名を公開する
Go コードを WASM にコンパイルするときに、関数名を保持したい状況が発生する可能性があります。結果の .wasm ファイルに含まれます。デフォルトでは、標準の Go コンパイラはコンパイル プロセス中に関数名をエクスポートしません。
関数名のエクスポート可能性を実現するには、次の 2 つのオプションがあります:
1。 WASM 指向の組み込み Go コンパイラーである TinyGo
TinyGo を使用すると、//export または //go:export コメント ディレクティブを介した関数のエクスポートがサポートされます。以下に例を示します。
<code class="Go">//export multiply func multiply(x, y int) int { return x * y; }</code>
TinyGo でコンパイルする場合 (例: tinygo build -o wasm.wasm -target wasm ./main.go)、乗算関数は結果の WASM ファイルで公開されます。
2.標準 Go コンパイラの使用 (実験的)
標準 Go コンパイラは現在、TinyGo の //export ディレクティブと同様の機能の導入に取り組んでいます。ただし、この機能はまだ開発中です。代わりに、 js.Global().Set(...) 関数を使用して Go 関数を JS グローバル名前空間のプロパティとして設定できます。
例:
<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>
このアプローチにより、グローバル JavaScript 名前空間で乗算関数を公開し、WASM コードでアクセスできるようになります。
以上がGo WASM で関数名をエクスポートするには?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。