如何在包之间共享服务器上下文

我对去光纤非常陌生,并且正在努力在包中创建服务器,然后在另一个包中共享上下文。


// package main

func init() {

    // Init server

    globs.InitServer()

}


func main() {

    globs.Server.Get("/hello", handlers.HelloWorld)

}

并且我正在将服务器初始化为;


// package globs

// global vars

var (

    Conf   map[string]string

    DBPool *pgxpool.Pool

    Loggi  *zap.Logger

    Server *fiber.App

)


func InitServer() {

    srv := fiber.New()

    srv.Use(logger.New())

    Server = srv

    Server.Listen(":3000")

}

最后,我正在尝试将控制器处理为;


// package handlers

func HelloWorld(c *fiber.Ctx) error {

    globs.Loggi.Info("Says Hello")

    return c.SendString("Hello, World 👋!")

}

我在编译过程中没有收到任何错误,应用程序启动正常,但它无法识别任何路由。如果我去“/hello”,它会给出一个404并显示“无法获取/hello”


POPMUISE
浏览 73回答 1
1回答

开满天机

您正在调用该函数。 在侦听失败之前不会返回,因此在设置所有内容后,您必须将其移动到 main 的末尾。Server.ListeninitServer.Listen
打开App,查看更多内容
随时随地看视频慕课网APP

相关分类

Go