Skip to content

文件格式

关键

每行一个版本号字符串,空行忽略。# 不是注释符——#-开头的行会被当作(非法)版本号解析。

📄 格式规范

1.0.0
1.1.0
v1.2.3-rc1

2.0.0
  • 每行一个版本
  • 空行被忽略
  • 前后空白会被 TrimSpace
  • 无注释语法# 这是一行 会被解析为名为 # 这是一行 的非法版本

重要

若你的输入文件含 # 注释,须在调用前自行剥离。versions-skills 不会把 # 当注释。

📝 读写 API

函数说明
ReadVersionsFromFile(path)读文件,返回 []*Version(解析)
ReadVersionsStringFromFile(path)读文件,返回 []string(不解析,原始行)
WriteVersionsToFile(versions, path)排序后写入文件
ReadVersionsFromReader(r)从任意 io.Reader 读取
go
vs, err := versions.ReadVersionsFromFile("releases.txt")
// 顺便去重排序
versions.WriteVersionsToFile(versions.Unique(versions.SortVersionSlice(vs)), "sorted.txt")

✍ 写入行为

WriteVersionsToFile 在写入前会先排序——输出文件总是有序的。若想保留原始顺序,需自行用 ReadVersionsStringFromFile + 原始字符串写入。

📚 延伸

基于 MIT 协议发布