首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何从分离文件中设置Go光纤V2中的路由组?

如何从分离文件中设置Go光纤V2中的路由组?
EN

Stack Overflow用户
提问于 2022-02-09 01:42:20
回答 1查看 1.5K关注 0票数 2

我想为每个次主干道制作单独的文件。我用的是go 1.17

main.go

代码语言:javascript
复制
package main

import (
    "rolling_glory_go/routes"

    "github.com/gofiber/fiber/v2"
)

func main() {
    app := fiber.New()

    app.Get("/", func(c *fiber.Ctx) error {
        err := c.SendString("Hello golang!")
        return err
    })

    routes.R_login(app.Group("/login"))
    routes.R_users(app.Group("/users"))

    app.Listen(":3000")
}

我想从r_login.gor_users.go导入路由,这样我就可以从不同的文件中管理许多路由,而不是在main.go中放置来自单个文件的多个路由。我犯了这样的错误。

代码语言:javascript
复制
.\main.go:17:26: cannot use app.Group("/login") (type fiber.Router) as type *fiber.Group in argument to routes.R_login: need type assertion
.\main.go:18:26: cannot use app.Group("/users") (type fiber.Router) as type *fiber.Group in argument to routes.R_users: need type assertion

我的结构文件夹

r_login.go

代码语言:javascript
复制
package routes

import "github.com/gofiber/fiber/v2"

func R_login(router *fiber.Group) {
    router.Get("/", func(c *fiber.Ctx) error {
        return c.SendString("respond with a resource")
    })
}

r_users.go

代码语言:javascript
复制
package routes

import "github.com/gofiber/fiber/v2"

func R_users(router *fiber.Group) {
    router.Get("/", func(c *fiber.Ctx) error {
        return c.SendString("respond with a resource")
    })
}

怎么解决这个问题?

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2022-02-09 03:15:50

既然您有app.Group("/login") (类型为fiber.Router ),只需修改R_login使其接受此类型即可。

代码语言:javascript
复制
package routes

import "github.com/gofiber/fiber/v2"

func R_login(router fiber.Router) {
    router.Get("/", func(c *fiber.Ctx) error {
        return c.SendString("respond with a resource")
    })
}
票数 3
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/71043030

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档