Will be a huge pain in the ass. Go's compiler uses Plan 9, and WebAssembly uses LLVM.
But if I'm not mistaken, WebAssembly won't accept just any llvm bitcode. It's similar to how emscripten will work with the bitcode that clang outputs, but not other llvm compilers like rust or ghc.