【发布时间】:2019-12-26 11:56:58
【问题描述】:
我尝试重构 main.go 并将代码分成不同的文件。
所以我把 controller.go 作为包控制器。
但我无法将此本地包导入 main.go。
article
├ client
├ api
│ ├ main.go
│ └ contoroller
│ └ contoroller.go
├ nginx
└ docker-compose.yml
・client: react/axios
・api: golang/gin
・web-server: nginx
・db: mysql
・container: docker
・ci-tool: travis
・deploy: aws elastic beanstalk
main.go
package main
import (
"./contoroller"
)
controller := controller.controller{}
api := router.Group("/api")
{
api.GET("/articles", func(c *gin.Context) {
controller.getArticleController(c, db)
})
}
router.Run(":2345")
}
controller.go
package controller
import (
)
func getArticleController(c *gin.Context, db *sql.DB) {
}
我希望导入包控制器。
但实际并非如此。
undefined: controller
【问题讨论】:
-
导入后只能访问包中导出的元素。您的
controller未导出。尽管如此:您应该绝不使用本地导入。请阅读并坚持“如何编写 Go 代码”。 -
这就是@Volker 所指的:golang.org/doc/code.html
标签: go