Rumah > pembangunan bahagian belakang > Golang > Bagaimana untuk Mengeksport Semua Fungsi yang Diingini Apabila Menyusun Program Go ke WASM?

Bagaimana untuk Mengeksport Semua Fungsi yang Diingini Apabila Menyusun Program Go ke WASM?

Linda Hamilton
Lepaskan: 2024-10-28 19:08:02
asal
634 orang telah melayarinya

How to Export All Desired Functions When Compiling a Go Program to WASM?

Mengeksport Fungsi dalam Go WASM

Masalah:

Apabila menyusun atur cara Go ke WASM, hanya subset daripada fungsi yang dieksport dikekalkan. Ini boleh menjadi masalah jika anda perlu mengakses fungsi tertentu daripada JavaScript.

Soalan:

Bagaimanakah kita boleh mengeksport semua fungsi yang dikehendaki semasa menyusun atur cara Go ke WASM?

Jawapan:

Menggunakan TinyGo:

Jika anda bercadang untuk menumpukan pada pembangunan WASM, pertimbangkan untuk menggunakan TinyGo. TinyGo menyediakan //arahan komen eksport yang membolehkan anda menentukan fungsi yang harus dieksport.

<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>
Salin selepas log masuk

Menggunakan Pengkompil Standard Go (Percubaan):

pengkompil standard Go mempunyai perbincangan berterusan tentang mereplikasi ciri eksport TinyGo. Satu penyelesaian yang berpotensi adalah untuk menetapkan fungsi ke ruang nama global JS menggunakan js.Global().Set(...).

Contoh:

<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>
Salin selepas log masuk

Kompilasi:

Kompilasi program Go ke WASM menggunakan arahan berikut:

<code class="sh">GOOS=js GOARCH=wasm go build -o main.wasm main.go</code>
Salin selepas log masuk

Ini sepatutnya mengeksport fungsi MyFunc dan menjadikannya boleh diakses oleh JavaScript.

Atas ialah kandungan terperinci Bagaimana untuk Mengeksport Semua Fungsi yang Diingini Apabila Menyusun Program Go ke WASM?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Kenyataan Laman Web ini
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn
Artikel terbaru oleh pengarang
Tutorial Popular
Lagi>
Muat turun terkini
Lagi>
kesan web
Kod sumber laman web
Bahan laman web
Templat hujung hadapan