golang 比较字符串 版本号大小
示例如下:
package mainimport "fmt"func VersionOrdinal(version string) string {// ISO/IEC 14651:2011const maxByte = 1<<8 - 1vo := make([]byte, 0, len(version)+8)j := -1for i := 0; i < len(version); i++ {b := version[i]if '0' > b || b > '9' {vo = append(vo, b)j = -1continue}if j == -1 {vo = append(vo, 0x00)j = len(vo) - 1}if vo[j] == 1 && vo[j+1] == '0' {vo[j+1] = bcontinue}if vo[j]+1 > maxByte {panic("VersionOrdinal: invalid version")}vo = append(vo, b)vo[j]++}return string(vo)
}func main() {versions := []struct{ a, b string }{{"1.05.00.0156", "1.0.221.9289"},// Go versions{"1", "1.0.1"},{"1.0.1", "1.0.2"},{"1.0.2", "1.0.3"},{"1.0.3", "1.1"},{"1.1", "1.1.1"},{"1.1.1", "1.1.2"},{"1.1.2", "1.2"},}for _, version := range versions {a, b := VersionOrdinal(version.a), VersionOrdinal(version.b)switch {case a > b:fmt.Println(version.a, ">", version.b)case a < b:fmt.Println(version.a, "<", version.b)case a == b:fmt.Println(version.a, "=", version.b)}}
}
运行结果:
1.05.00.0156 > 1.0.221.9289
1 < 1.0.1
1.0.1 < 1.0.2
1.0.2 < 1.0.3
1.0.3 < 1.1
1.1 < 1.1.1
1.1.1 < 1.1.2
1.1.2 < 1.2
golang 比较字符串 版本号大小相关推荐
- 比较版本号大小c语言,比较两个版本字符串version1和version2
8 # python中的列表可以直接比较,只要把输入的数字按照'.'分割后,换为整数列表即可. num = input().split() version1 = list(map(int, num[0 ...
- 项目版本号大小比较,找出最大版本号
项目版本号大小比较 软件版本号格式一般为X.Y.Z( Major.Minor.Patch),X为主版本号,Y为次版本号,Z为修订号.例如:1.12.123. 最近在项目中碰到一个业务:需要从版本数组中 ...
- 编程实现一个比较任意两个软件版本号大小的函数 2018.11.01(更新)
如 1.2.3a 和 1.2.4b 我写的方法,各位大大还有啥好的办法留言一下. /*** 这是个错误的方法,错误的错误的错误的错误的,某次面试面试官看我的博客说这个方法有问题,我回来思考了一下确实有 ...
- C语言 比较字符串的大小关系
头文件 原型 说明 返回值 #include<stdio.h> int strcmp(const char *s1, const char *s2) 比较s1指向的字符串和s2指向的字符串 ...
- golang之字符串
golang的字符串(string)有两种类型: 一种是byte类型,或者叫uint8类型,代表ASCII码的一个字符: 一种是rune类型,或者叫int32类型,代表UTF-8的一个字符,当需要处理 ...
- php 字符串的比较大小,PHP如何比较字符串的大小?
在WEB项目开发中,经常需要确定两个或多个字符串之间的大小,但是,我们关看两个字符是不能确定两个字符串的大小的,那么怎么来确定两个或多个字符串的大小呢,本篇文章,就带你了解一下,怎么比较字符串的大小? ...
- Delphi中字符串比较大小 VS Oracle-SQL中字符串比较大小
重点注意Delphi和Oracle-SQL中比较字符串时空字符串''的根本性的不同 Delphi中的字符串比较 Delphi中字符串比较大小的规则:对应位置的字符按照字符编码值逐个对比,直到遇到可以确 ...
- python 压缩字符串_python zlib - 压缩字符串的大小与香农熵
我试图更好地理解压缩算法的输出 - 如zlib - 如何与一个人的理论预期相比较 . 所以我有几个问题 . (1)首先,我想检查一下我是否正确计算了压缩率 . 假设我想压缩1000个数组,我可以执行以 ...
- 截取字符串,计算字符串字节大小,选择文件夹,上传文件
获取(.)点前一个字符 string s = "123_u.jpg"; string strKzm = s.Substring(s.LastIndexOf("." ...
最新文章
- Docker的安装和版本详细介绍
- 【视频】SQL Server 2008 R2 StreamInsight - 多源复杂事件处理
- 让IDA Pro输出能让gcc编译器直接编译的.s汇编文件
- HDU6092——Rikka with Subset 【dp】
- 什么是闪电网络节点_为什么以及如何计划闪电谈话
- 开发实验实训管理系统
- 杭电 1060 Leftmost Digit
- 为什么坐飞机时会耳痛?
- jsp引用带参数的js文件,例如 script src=a.js?ctxpath=${base
- 瑞星2009网络版-服务器端安装和配置
- MYSQL数学函数哪些事
- 【H∞控制】H无穷控制器的matlab仿真
- python获取他人的ip_python - 获取访问者的IP地址
- 实现win 10 电脑版微信双开
- 从年轻大学教师待遇说到大学教学质量
- vscode 提示 vetur can‘t find `tsconfig.json`的解决办法
- 计算机资源管理器功能,Windows资源管理器的作用 -电脑资料
- Leetcode-D35-数组-455. 分发饼干
- 职场回头草 是糖是毒药
- 全百科搜索采集器 可采集百度搜索网址/贴吧/哔哩哔哩/微博信息