You can. Look at ewasm.ethereum.org to get an example of a genesis block.
Golang isn't the language for writing WASM contracts (or WASM anything, really) because its support is still experimental, and the produced binaries are huge. Have a look at those Rust contract examples https://github.com/ewasm/rust-ewasm instead.