当前位置: 首页 > 面试题库 >

如何在Golang中比较两个版本号字符串

锺英卫
2023-03-14
问题内容

我有两个字符串(它们实际上是版本号,它们可以是任何版本号)

a := "1.05.00.0156"  
b := "1.0.221.9289"

我想比较哪个更大。在golang中如何做?


问题答案:

将“ 1.05.00.0156”转换为“ 0001” +“ 0005” +“ 0000” +“ 0156”,然后转换为int64。

将“ 1.0.221.9289”转换为“ 0001” +“ 0000” +“ 0221” +“ 9289”,然后转换为int64。

比较两个int64值。

试一下 [Go playground](http://play.golang.org/p/zj2UVDe78d)



 类似资料:
  • 问题内容: 我的表中有固件版本字符串(例如“ 4.2.2”或“ 4.2.16”) 如何比较,选择或排序它们? 我无法使用标准字符串比较:SQL看到的“ 4.2.2”大于“ 4.2.16” 作为版本字符串,我希望4.2.16大于4.2.2 我想考虑一下固件版本中可以包含chars的原因:4.24a1、4.25b3 …为此,通常,具有chars的子字段具有固定的长度。 如何进行 ? 问题答案: 最终,

  • 问题内容: 有什么方法可以在bash上比较这样的字符串,例如:and 和吗? 问题答案: 这是一个纯Bash版本,不需要任何外部实用程序: 运行测试:

  • 问题内容: 是否有用于比较版本号的标准习语?我不能只使用直接的String compareTo,因为我尚不知道最大的点释放数将是多少。我需要比较版本,并满足以下条件: 问题答案: 用点作为定界符标记字符串,然后从左侧开始并排比较整数转换。

  • 问题内容: 我正在走一个包含鸡蛋的目录,将这些鸡蛋添加到sys.path。如果目录中有相同.egg的两个版本,我只想添加最新的一个。 我有一个正则表达式·可以从文件名中提取名称和版本。问题是比较版本号,它是一个类似的字符串2.3.1。 由于我在比较字符串,所以2在10之上排序,但这对于版本是不正确的。 我可以进行一些拆分,解析,转换为int等操作,最终得到解决方法。但这是Python,而不是Jav

  • 我正在浏览一个包含鸡蛋的目录,以将这些鸡蛋添加到。如果目录中有同一个.egg的两个版本,我只想添加最新版本。 我有一个正则表达式

  • 我有两个格式为m/d/yyyy的字符串日期。例如“2012年11/1”、“2013年1/2”。我正在用JavaScript编写一个函数来比较两个字符串日期。我的函数的签名是如果string1传递的日期晚于string2传递的日期,则返回true,否则返回false。因此,isLater(“1/2/2013”,“11/1/2012”)应返回true。我如何为此编写一个JavaScript函数?