gpt4 book ai didi

go - 如何导入路由

转载 作者:数据小太阳 更新时间:2023-10-29 03:19:53 25 4
gpt4 key购买 nike

我刚刚按照 Pluralsight 上的教程开始了一个 Go 项目,但是当我想我的所有路由分成一个文件路由.

之前我的代码运行良好:

主.go

package main

import (
"github.com/gin-gonic/gin"
"net/http"
)

func main() {
r := gin.Default()
r.LoadHTMLGlob("templates/*.html")

r.GET("/", func(c *gin.Context) {
c.String(http.StatusOK, "Helo from %v", "Gin")
})

r.GET("/json", func(c *gin.Context) {
c.JSON(200, gin.H {
"status": "posted",
"message": "Hi...",
"nick": "Nick here",
})
})

r.GET("/template/index", func(c *gin.Context) {
c.HTML(http.StatusOK, "index.html", nil)
})

r.Run(":3000")
}

到这里为止,我的所有代码都运行良好

然后我做了一个这样的路由文件:

路线.go

package main

import (
"github.com/gin-gonic/gin"
"net/http"
)

func registerRoutes() *gin.Engine {
r := gin.Default()
r.LoadHTMLGlob("templates/*.html")

r.GET("/", func(c *gin.Context) {
c.String(http.StatusOK, "Helo from %v", "Gin")
})

r.GET("/json", func(c *gin.Context) {
c.JSON(200, gin.H{
"status": "posted",
"message": "Hi broh",
"nick": "Nick here",
})
})

r.GET("/template/index", func(c *gin.Context) {
c.HTML(http.StatusOK, "index.html", nil)
})

return r
}

然后我将 main.go 中的代码更改为:

package main

func main() {
r := registerRoutes()

r.Run(":3000")
}

当我运行它时,出现错误:

go build main.go
# command-line-arguments
.\main.go:4:7: undefined: registerRoutes

我试图理解它,但我总是收到该错误消息。我的代码有问题吗?

我的项目结构:

enter image description here

最佳答案

你需要这两样东西:

  • 使用 go run ./...go run main.go model.go routes.go
  • 运行您的应用程序
  • 将你的函数 registerRoutes 重命名为 RegisterRoutes,使你的函数公开,并在你的包中可见

关于go - 如何导入路由,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/55661916/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com