Hi Kali!
Go´s http package comes with its own web server that performs really well. It's stable, handles many concurrent requests, has good crypto support and good support for HTTP/1.1 (including websockets and stuff like that). You usually don't want an Apache in front of it. But if you really do, you can use the Apache module "mod_proxy" in order to forward request to the Go webserver of your app. Alternatively, you could also use mod_fcgi and Go's fcgi package, but I guess the first solution is more flexible / robust.
I've done it the other way round. A small Go program (about 200 LOC) does some request dispatching based on host names, url paths, etc. (using http.ServeMux), serves static content (using http.FileServer) and forwards most of the other requests to other Go applications running on different ports as separate processes (using httputil.ReverseProxy). Some of my projects are still written in Python and are powered by Apache + mod_wsgi at the moment. My small Go program also forwards some requests to them (also using httputil.ReverseProxy).
-christoph