今天给大家聊聊版本。
目前我们所有的系统、软件,都少不了版本,版本是指用于描述同一事物的不同差异的标识。 在程序员眼中,版本是无处不在的,语义化版本、版本控制,这些都给我们带来了很多便利,当然也带来了很多痛苦。
版本控制
svn,git
语义化版本
版本格式:主版本号.次版本号.修订号,详细解释可以看文末的延伸阅读,这里不再赘述。
版本背景
系统级别
Mac OSX版本号:10.11.4,iOS版本:9.3.2等等,
软件级别
微信版本号:6.3.16,小恩爱版本号:5.6.3
手机APP,都是从小版本一点点升上去的,服务器也是一点点迭代的,所以随之而来的,肯定就有前后兼容问题了。 说到兼容问题,那版本比较就少不了。
怎么对版本做比较呢?
常见的思路:把版本所代表的字符串做拆分,然后分别比较相对应的数字大小即可。如果涉及到字母字符,则可以将其替换成空,最终还是比较数字。
不管是什么语言,都是有字符串拆分函数的。split,一般都支持按照什么来拆的。这里当然就是.
其他更简单的方法或者第三方库。
ruby版本比较
-
Gem::Version.new(‘5.6.3’)>Gem::Version.new(‘5.6.4’) 只会返回true,false,所以在比较相等时要再单独比较
-
‘5.6.3'<=>'5.6.4’ 返回1, 0, -1,三种情况都囊括了。
golang版本比较
hashicorp家的东西值得信赖。什么也不多少,贴一个图吧。
今天就上面这些了,如果对你有用那就最好,没有用那也请见谅。
延伸阅读
茶歇驿站
一个让你可以在茶歇之余,停下来看一看,里面的内容或许对你有一些帮助。
这里的内容主要是团队管理,个人管理,后台技术相关,其他个人杂想。