使用golang开发项目也有一年时间了,也开发了一些web的项目,把和同事UlricQin一起开发的项目中一些第三方库抽离出来,整理了一个go web开发脚手架,Toruk主要包括一下几个部分:

  • 路由:github.com/gorilla/mux
  • 渲染模板:github.com/unrolled/render
  • Cookie封装:github.com/gorilla/securecookie
  • 中间件:github.com/codegangsta/negroni
  • 上下文传输:github.com/gorilla/context

文件结构

图片描述

使用方法

通过修改http/ruote.go 将数据传到对应的handler中,然后在通过render将数据返回回去。
ruote.go

func configConfRoutes(r *mux.Router) {
    r.HandleFunc("/home", handler.HomeIndex).Methods("GET")
}

handler.go

func HomeIndex(w http.ResponseWriter, r *http.Request) {
    render.HTML(r, w, "home/index")
}

初始化

# set $GOPATH and $GOROOT
# 比如你的项目名称叫做 awosome
cd $GOPATH/src
git clone https://github.com/710leo/Toruk.git
mv Toruk awosome
cd awosome
./init awosome
go get ./...

有问题欢迎私信交流:710leo