本项目所有显著变更都将记录在此文件中。
其格式基于 Keep a Changelog, 且本项目遵循 语义化版本控制。
注意:本文档内容若与GitHub Wiki冲突,则以后者为准
SECURITY.md
、CONTRIBUTORS.md
和CONTRIBUTING.md
。Wiki
引用。README.md
。MIT LICENSE
翻译。.
作为分隔符(原使用-
作为分隔符)。refs/tags/v1.0.0
,现在修改为仅包含v1.0.0
)。refs/tags/v1.0.0
,现在修改为仅包含v1.0.0
)。gcflag
参数)。resource
包的测试。Windows Console
的支持。json
格式)。Windows
服务的支持。panic
语句改写为 logger.Panic
日志记录。Git
信息(若有):当前commit hash
、当前最新tag
(若有)、以及tag
(若有)对应的commit hash
(若有)。go:embed
读取的文件:仅保留第一行(某些文件),删除BOM
,删除\r
。exitutils.SuccessExitQuite()
函数)。VERSION
文件获取(第一优先级,可以以v/V
开头,必须满足语义化版本哈规定)。git
获取最新的tag
(第二优先级,可以以v/V
开头,必须满足语义化版本哈规定)。tag
对应的并非当前commit
时,tag
会加上+dev
标签tag
以0.
开头时,tag
会加上+dev
标签0.0.0
commit hash
,则最终版本号为0.0.0+dev-1744225466
,其中1744225466
为编译时间戳。commit hash
,则最终版本号为0.0.0+1744225466-be8f4ff51e6ed2e01171b38459406dc5dac306ea
,其中1744225466
为编译时间戳,be8f4ff51e6ed2e01171b38459406dc5dac306ea
为commit hash
。Server.Example1
例子更完善,输出更多信息。--version
输出更多信息:版本号、编译时间(UTC和Local)、编译的Go版本号、系统、架构。exitutils.SuccessExitQuite()
函数到命令行参数的阻断执行退出中。tag
对应commit
值的漏洞。Output Config File
逻辑判断错误SigQuitExit
默认动作的错误--report
不会阻断服务运行的错误。Usage
对短参数的前缀使用错误(原:--c
,现:-c
)。import resource "github.com/SongZihuan/BackendServerTemplate"
的引用。stderr
。config
在执行完setDefault()
函数后,进行配置文件反向输出(若存在输出路径)。log-name
配置项。README
文档。string
、bool
、uint
、int
)json
和yaml
格式,也可以自定义解析器)posix
系统上可以使用信号量捕获退出信号,并做清理操作。在win32
上,命令行的ctrl+c
也可被捕获,但当程序作为服务在后台运行时,相关停止、重启操作暂未内捕获)Version
、License
、Name
、Report
等变量)test_self
文件夹