Skip to content

devorel/webassembly-golang

Repository files navigation

How to work with webassembly golang.

nodejs

run

node init.js
async function run() {
await init(`./ecdsa.wasm`);
const a = await global.test("sss");
console.log('-------a-----');
console.log(a);

    const b = await global.test("sss");
    console.log('-----b-------');
    console.log(b);
}

run();

web browser

run server

npx serve

open /index.html

<script src="./wasm_exec.js"></script>
<script src="./initWeb.js"></script>
<script>
    async function run() {
        const a = await window.test("sss");
        console.log('-------a-----');
        console.log(a);

        const b = await window.test("sss");
        console.log('-----b-------');
        console.log(b);
    }

    setTimeout(run, 1000);
</script>

create a module

go mod tidy go get

compile the code

GOARCH=amd64 GOOS=linux go build -o ecdsa.o ./ecdsa.go

compile the code for webassembly

GOARCH=wasm GOOS=js go build -o ecdsa.wasm ./ecdsa.go

WASM_HEADLESS=off GOARCH=wasm GOOS=js go build -o ecdsa.wasm ./ecdsa.go

environment variables

export GOROOT=/usr/local/go

export PATH=$PATH:/usr/local/go/bin

export GOPATH=${PWD}

unset $GOPATH

About

how to work with webassembly golang

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published