go-admin在线开发平台学习-3[细节解析]
本章节主要的内容是对go-admin中的一些有趣编码进行分析,为自己以后提供一些借鉴 使用cli方式启动项目 使用cobra[眼镜蛇]完成强壮cli的工具,确保稳定。 使用cli的方式启动项目的好处显而易见,可以在进行配置的自定义化,而不是固定的使用某个配置文件中的信息。在一些需要频繁更换命令参数的场景下尤为有效。 cobra的使用有一个默认的规定,即新建一个 cmd 文件夹,基于这个文件夹定义自己的命令结构 1、小型项目 cmd 文件夹 -- root.go 根命令 -- version.go 版本命令【子命令】 2、中/大型项目 cmd 文件夹 --version 文件夹 --server.go --config 文件夹 --server.go -- root.go 入口指令 不同的项目选用不同的方式进行命令的定义。 监听中断信号 // 等待中断信号以优雅地关闭服务器(设置 5 秒的超时时间) quit := make(chan os.Signal) signal.Notify(quit, os.Interrupt) <-quit fmt.Printf("%s Shutdown Server ... \r\n", tools.GetCurrentTimeStr()) if err := srv.Shutdown(ctx); err != nil { log.Fatal(