初始化项目模版
创建demo项目,执行命令
gf init demo -u
执行过程
创建demo项目成功,目录树如下
运行项目模板,执行如下命令
cd demo && gf run main.go
默认情况下项目启动后会将
web端口号
、开启OpenAPI接口文档
、展示Swagger接口文档
页面等关键信息打印到终端。默认会将所有路由信息打印到终端,该项目初始化会自带一个/hello的路由。
程序启动
main.go
跟其他项目类似都是通过main.go
作为程序入口,然后调用internal/cmd
包中对应的命令引导程序来启动,在internal/cmd
包中有Main
对象,程序通过调用Main
对象的Run方法来启动
引导启动
Main对象的Run命令主要是做系统启动引导,将需要动态初始化的逻辑放到Run方法中,项目模版默认会创建一个HTTP Server
,然后分组注册路由,启动HTTP Server并阻塞运行,同时也会异步监听系统信号,直至收到退出信号后,优雅关闭连接随后退出进程。