您可以拥有一个名为 MainController 的文件,您可以在其中创建访问数据库、会话、配置文件等的功能。从那里你真正需要做的就是说这样的话(例如从其他控制器继承东西):
//MyController.go
type App struct {
MainController
}
func (c Application) MyControllerFunc() returnTypeHere(http.Response for example) {
//c.getDatabaseName is function from MainController that reads information from some plain text file or json file or similar
someInfoFromConfigFile = c.getDatabaseName()
var str []string
str = append(str, someInfoFromConfigFile)
//RenderJson is function that render http response as json (Content type plain/json)
return c.RenderJson(str)
}
但是如果你需要 mvc,我建议你使用一些框架(例如 Revel)。我一直在使用它。如果您愿意,它会为您提供基本的 mvc 功能,而所有其他内容完全取决于您。您将业务逻辑保存在一些助手中,模型文件中的模型等。
您可以在此处查看 Revel 主控制器结构: https ://github.com/revel/revel/blob/master/controller.go