The HTTP package provides good support for efficiently serving static files.
This is a complete Go webserver serving static files:
package main
import "net/http"
func main() {
panic(http.ListenAndServe(":8080", http.FileServer(http.Dir("/usr/share/doc"))))
}
That example is intentionally short to make a point. Using panic()
to deal with an error is probably too aggressive & would produce too much output.
See net/http documentation and in particular the FileServer example for a more typical example.