Bagaimana untuk Mengeksport Nama Fungsi dalam Go WASM?

Barbara Streisand
Lepaskan: 2024-10-28 17:23:30
asal
454 orang telah melayarinya

How to Export Function Names in Go WASM?

Mendedahkan Nama Fungsi dalam Eksport WASM Go

Apabila menyusun kod Go ke WASM, anda mungkin menghadapi situasi di mana anda ingin mengekalkan nama fungsi dalam fail .wasm yang terhasil. Secara lalai, pengkompil Go standard tidak mengeksport nama fungsi semasa proses penyusunan.

Untuk mencapai keboleheksportan nama fungsi, anda mempunyai dua pilihan:

1. Menggunakan TinyGo

TinyGo, pengkompil Go yang dibenamkan dan berorientasikan WASM, menyediakan sokongan untuk mengeksport fungsi melalui arahan komen //eksport atau //go:eksport. Berikut ialah contoh:

<code class="Go">//export multiply
func multiply(x, y int) int {
    return x * y;
}</code>
Salin selepas log masuk

Apabila menyusun dengan TinyGo (cth., tinygo build -o wasm.wasm -target wasm ./main.go), fungsi darab akan didedahkan dalam fail WASM yang terhasil.

2. Menggunakan Pengkompil Standard Go (Percubaan)

Pengkompil Go standard kini sedang berusaha untuk memperkenalkan ciri yang serupa dengan arahan //eksport TinyGo. Walau bagaimanapun, ciri ini masih dalam pembangunan. Sebagai alternatif, anda boleh menggunakan fungsi js.Global().Set(...) untuk menetapkan fungsi Go sebagai sifat ruang nama global JS.

Contoh:

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

Pendekatan ini membolehkan anda mendedahkan fungsi darab dalam ruang nama JavaScript global, menjadikannya boleh diakses dalam kod WASM anda.

Atas ialah kandungan terperinci Bagaimana untuk Mengeksport Nama Fungsi dalam Go WASM?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

sumber:php.cn
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
Tentang kita Penafian Sitemap
Laman web PHP Cina:Latihan PHP dalam talian kebajikan awam,Bantu pelajar PHP berkembang dengan cepat!