We all know that Ethereum nodes can run smart contract. But I'm wondering whether can I setup contract run-time environment from Ethereum source code locally so I can run smart contract without simulated network or tools like Truffle and web3 ?
And Ethereum says

... as a library that you can embed in your Go, Android or iOS projects.

So I guess it means I can call EVM from Go-Ethereum to run smart contract. Am I right?
Finally how can I use Go-Ethereum as a library(especially the evm part which execute smart contract bytecode)?