我的目标是封装在一个模块/包中。如何在Go中坚持“包装”状态?
主要包:
package main
import (
"github.com/zenazn/goji"
"./routes"
)
func main(){
routes.Setup()
goji.Serve()
}
而另一包:
package routes
import "github.com/zenazn/goji"
func Setup() {
goji.Get("/static", func(w http.ResponseWriter, r *http.Request) {
fmt.Fprint(w, "static!")
})
}
我怎样才能做到这一点?
但我还想封装在一个封装 – 2014-09-13 16:20:08
嗯...奇怪,它的作品我的所有路由。在相同的内存上实例化了相同的包吗?我认为每个包的单独导入可能已经实例化了单独的包。 – 2014-09-13 16:48:53
是的,一个包(和它的变量)在内存中只存在一次,无论你有多少个“导入”它。 – 2014-09-13 17:27:30