callback을 바로 넣을 수는 없어보이고 type 에 func 을 정의하고 달면 된다. 나름 명시적이네. 역시 소스는 여기 package main import ( "fmt" ) type Handler func(method string) 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, handler Handler ) { r.Routes=append(r.Routes, Route{Method:method, Pattern:pattern}) fmt.Printf("route Count : %d\n", len(r.Routes)) handler(method) } func (r *Routes) GET(pattern string, handler Handler ) { r.addRoute("GET", pattern, handler) } func (r *Routes) POST(pattern string, handler Handler ) { r.addRoute("POST", pattern, handler) } func (r *Routes) PUT(pattern string, handler Handler ) { r.addRoute("PUT", pattern, handler) } func (r *Routes) DELETE(pattern string, handler Handler ) { r.addRoute("DELETE", pattern, handler) } func handler(method...
Meteor evangelist, IoT, Renoise, Lua, Javascript, Coffeescript