如何正确引用项目包?我有以下文件夹结构:
ir.actions.act_window
在/sbp
/models.go
/controllers.go
/main.go
中,我想从main.go
拨打我的控制器操作。我似乎无法找到正确引用它的方法
sbp.controllers
main.go
package main
import (
"net/http"
...
"github.com/pressly/chi"
)
var sess = session.Must(session.NewSession(&aws.Config{
Region: aws.String("ap-southeast-1"),
}))
var dynamo = dynamodb.New(sess)
func main() {
r := chi.NewRouter()
r.Get("/", GetInvestments) // How do I call sbp.controller.GetInvestments?
r.Post("/", AddInvestment)
http.ListenAndServe(":8080", r)
}
sbp/controller.go
我尝试导入" sbp / controller",甚至" github.com/jiewmeng/finance/sbp/controller"但它们似乎是自动删除我的VSCode,所以我认为它无效?
答案 0 :(得分:1)
听起来您的编辑器正在自动运行goimports
,这意味着它将删除未使用的导入。因此,只需将其添加到imports
部分就不够了;你还必须使用导入。
看起来你的正确导入路径是“github.com/jiewmeng/finance/sbp”。然后你也需要引用它:
package main
import (
// other imports
"github.com/jiewmeng/finance/bp"
)
func main() {
// whatever
http.Handle("/somepath", http.HandlerFunc(sbp.AddInvestment))
}