10 Star 0 Fork 1

openEuler/btfhub

加入 Gitee
与超过 1200万 开发者一起发现、参与优秀开源项目,私有仓库也完全免费 :)
免费加入
文件
克隆/下载
kernel.go 751 Bytes
一键复制 编辑 原始数据 按行查看 历史
Yang Hanlin 提交于 2023-07-09 20:16 +08:00 . Import code from upstream repository
package kernel
import (
"regexp"
"strconv"
)
type Version struct {
str string
ints []int
}
func NewKernelVersion(v string) Version {
return Version{str: v, ints: splitIntoInts(v)}
}
func (k Version) IsZero() bool {
return k.str == ""
}
func (k Version) String() string {
return k.str
}
func (k Version) Less(j Version) bool {
vi, vj := k.ints, j.ints
for x, vni := range vi {
if x > (len(vj) - 1) {
return false
}
if vni == vj[x] {
continue
}
return vni < vj[x]
}
return len(vi) < len(vj)
}
func splitIntoInts(s string) []int {
var nums []int
for _, n := range regexp.MustCompile(`([.~-])`).Split(s, -1) {
x, err := strconv.Atoi(n)
if err != nil {
return nums
}
nums = append(nums, x)
}
return nums
}
Loading...
马建仓 AI 助手
尝试更多
代码解读
代码找茬
代码优化
1
https://gitee.com/openeuler/btfhub.git
git@gitee.com:openeuler/btfhub.git
openeuler
btfhub
btfhub
b10b5e70f918

搜索帮助