1 回答
TA贡献2011条经验 获得超2个赞
您的文件看起来如何?我试图使用以下目录结构处理您的代码,模块条目看起来像go.modgo.modmodule rishabh96b/go_fiber
➜ go_fiber tree .
.
├── controllers
│ └── mycontroller.go
├── go.mod
├── go.sum
└── models
└── goals.go
在我的情况下,在控制器中导入模型包是成功的。这是文件的外观mycontroller.go
package controllers
import (
. "rishabh96b/go_fiber/models"
"github.com/gofiber/fiber/v2"
)
var goals = []Goal{ //error:undeclared name: Goal
{
Id: 1,
Title: "Read about Promises",
Status: "completed",
},
{
Id: 2,
Title: "Read about Closures",
Status: "active",
},
}
func GetGoals(c *fiber.Ctx) error {
return c.Status(fiber.StatusOK).JSON(goals)
}
func CreateGoal(c *fiber.Ctx) error {
type Request struct {
Title string `json:"title"`
Status string `json:"status"`
}
var body Request
err := c.BodyParser(&body)
// if error
if err != nil {
return c.Status(fiber.StatusBadRequest).JSON(fiber.Map{
"message": "Cannot parse JSON",
"error": err,
})
}
// create a goal variable
goal := &Goal{ //error:undeclared name: Goal
Id: len(goals) + 1,
Title: body.Title,
Status: body.Status,
}
}
P.S:前面的意味着我不必使用我在这里使用的结构的包名称。简而言之,我可以简单地使用而不是."rishabh96b/go_fiber/models"Goal{}models.Goal{}
- 1 回答
- 0 关注
- 82 浏览
添加回答
举报