A fast, simple and lightweight micro-web framework for Go, comes with powerful features and has no dependencies other than the Go Standard Library.
Homepage: golf.readme.io
Installation
go get github.com/dinever/golf
Features
-
No allocation during routing and parameter retrieve.
-
Dead simple template inheritance with
extends
andinclude
helper comes out of box.layout.html
<h1>Hello World</h1> {{ template "body" }} {{ include "sidebar.html" }}
index.html
{{ extends "layout.html" }} {{ define "body"}} <p>Main content</p> {{ end }}
sidebar.html
-
Built-in XSRF and Session support.
-
Powerful middleware chain.
-
Configuration from JSON file.
Hello World
package main import "github.com/dinever/golf" func mainHandler(ctx *golf.Context) { ctx.Send("Hello World!") } func pageHandler(ctx *golf.Context) { ctx.Send("Page: " + ctx.Param("page")) } func main() { app := golf.New() app.Get("/", mainHandler) app.Get("/p/:page/", pageHandler) app.Run(":9000") }
The website will be available at http://localhost:9000.
Benchmark
The following chart shows the benchmark performance of Golf compared with others.
For more information, please see BENCHMARKING.md