Edit: web.go looks pretty sweet: http://www.getwebgo.com/
Edit2: As does app.go: https://github.com/georgenava/appgo
...There's a large list of Go projects here: http://godashboard.appspot.com/project
Edit: web.go looks pretty sweet: http://www.getwebgo.com/
Edit2: As does app.go: https://github.com/georgenava/appgo
...There's a large list of Go projects here: http://godashboard.appspot.com/project
The standard library gives you almost everything you need.
The http package provides a web server and client: http://weekly.golang.org/net/http/
The template package provides text templates: http://weekly.golang.org/text/template/ and automatically-escaped HTML templates: http://weekly.golang.org/html/template/
For other bits and pieces, see the rest of the standard library: http://weekly.golang.org/
I also recommend the Gorilla Web Toolkit for some other useful web-app functionality: http://gorilla-web.appspot.com/
http://gorilla-web.appspot.com/pkg/gorilla/mux/
If you want something more lightweight (Gorilla's not "heavy" by any means) there is pat (formerly pat.go)
It uses only the packages which ship with Go, with the exception of a Markdown parser. Unfortunately, it's written for an ~6 month old release of Go on Plan 9, but you can get the general idea of building Go web stuff. The code's a bit ugly too, but it does work.
So, how do you serve static files?
Can you drop the privileges from within go like apache or nginx are doing it?
A contributor to Go says otherwise if SSL is involved: https://groups.google.com/d/msg/golang-nuts/yohrNK8lFhc/L1d6...