= golang = Go programmmig language * https://tour.golang.org/list * https://tour.golang.org/concurrency/1 * https://learnxinyminutes.com/docs/go/ {{{ package main import "fmt" func main() { fmt.Println("Hello, 世界") } }}} == WebAssembly == * On debian buster * sudo apt install golang # go version go1.11.6 linux/amd64 * sudo apt install golang-src * mkdir ~/wasmgotest '''build.sh''' {{{ go build -o main main.go GOOS=js GOARCH=wasm go build -o main.wasm main.go }}} '''index.html''' {{{

5555

}}} '''main.go''' {{{ package main //import "fmt" import "time" import "syscall/js" func showTime(){ for x := 0; ; x++ { // infinite loop currentTime := time.Now() // console.log in the browser //fmt.Printf("Hello, WebAssembly %s ! \n" , currentTime.String() ) document := js.Global().Get("document") document.Call("getElementById", "datetimeHeading").Set("innerHTML", currentTime.String()) //document.getElementById("datetimeHeading").innerHTML="aaa" time.Sleep( 2 * time.Second ) } } func main() { go showTime() // go routine executes the called function as a lightweight thread document := js.Global().Get("document") c := document.Call("getElementById","myCanvas") ctx := c.Call("getContext","2d") ctx.Call("beginPath") ctx.Call("arc","95", "50", "40", "0", "6.283") ctx.Call("stroke"); time.Sleep(24*time.Hour) } }}} * cp /usr/share/go-1.11/misc/wasm/wasm_exec.js . * Check on the browser file:///home/vitor/wasmgotest/index.html