별 중요한 건 없지만 역시 func (variable struct)를 쓰는 패턴을 학습한다. routeCount 를 구할땐 func(r Routes)를 addRoute, GET/POST/PUT/DELETE를 할땐 func(r *Routes) 를 쓰는 부분에 주목하자. 역시 소스는 여기 package main import ( "fmt" ) type Route struct { Method,Pattern string } type Routes struct { Routes []Route } func (r Routes) routeCount() int { return len(r.Routes) } func (r *Routes) addRoute(method, pattern string) { r.Routes=append(r.Routes, Route{Method:method, Pattern:pattern}) fmt.Printf("route Count : %d\n", len(r.Routes)) } func (r *Routes) GET(pattern string) { r.addRoute("GET", pattern) } func (r *Routes) POST(pattern string) { r.addRoute("POST", pattern) } func (r *Routes) PUT(pattern string) { r.addRoute("PUT", pattern) } func (r *Routes) DELETE(pattern string) { r.addRoute("DELETE", pattern) } func main() { r:=new(Routes) r.GET("/user/:user") r.PUT("/add/:user") r.PO...
Meteor evangelist, IoT, Renoise, Lua, Javascript, Coffeescript