我需要使用UUID1生成一个唯一的文件名。

我当前的python代码是:

相当于golang的是什么?

谢谢!


Go的标准库中没有guid或uuid类型,但是还有其他一些方法可以执行此操作,例如使用诸如此类的第三方程序包。 https://godoc.org/code.google.com/p/go-uuid/uuid或https://github.com/nu7hatch/gouuid

这个答案还有另一个选择,它利用了Unix命令行工具。是否有一种用go语言生成UUID的方法,尽管它的性能似乎不太好。


我相信您的问题陈述中存在阻抗不匹配的问题,并且您的Python代码无法正常运行。

可以从"是否有一种使用go语言生成UUID的方法"中的一些答案中推论得出,并且在https://en.wikipedia.org/wiki/Universally_unique_identifier#Version_1_(date-time_and_MAC_address)中有明确描述, UUID仅在全部使用时才是唯一的,而不是部分使用,并且不一定完全是随机的,尤其是版本1实际上是相当可预测的,因为它基于生成主机的日期/时间和MAC地址它。

因此,最好的方法可能是使用与前述问题的答案之一中的代码相似的代码,根据自己的规范实际基于crypto/rand生成随机文件名,而不会滥用库不一定旨在为手头的任务提供所需的随机性。

https://play.golang.org/p/k2V-Mc5Y31e