首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >在golang中使用UUID生成唯一文件名

在golang中使用UUID生成唯一文件名
EN

Stack Overflow用户
提问于 2015-08-28 17:37:28
回答 2查看 9.3K关注 0票数 2

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

我当前的python代码是:

代码语言:javascript
运行
AI代码解释
复制
uuid.uuid1().hex[:16] // i need 16 chars file name

什么可能是golang的等价物?

谢谢!

EN

回答 2

Stack Overflow用户

发布于 2015-08-28 17:42:24

Go的标准库中没有guid或uuid类型,但有一些其他方法可以做到这一点,比如使用第三方程序包,如https://godoc.org/code.google.com/p/go-uuid/uuidhttps://github.com/nu7hatch/gouuid

代码语言:javascript
运行
AI代码解释
复制
import "github.com/nu7hatch/gouuid"

id, err := uuid.NewV4()

这个答案还有另一个选项,它使用Unix命令行utils;Is there a method to generate a UUID with go language,尽管它似乎执行得不是很好。

票数 6
EN

Stack Overflow用户

发布于 2018-01-07 06:19:39

我相信您的问题陈述中存在阻抗不匹配,并且您的Python代码不会像您预期的那样工作。

正如在“”上的一些答案可以推断出的,以及在https://en.wikipedia.org/wiki/Universally_unique_identifier#Version_1_(date-time_and_MAC_address)中清楚地描述的那样,UUID很可能是唯一的,只有在全部获取时才是唯一的,而不是部分获取,并且根本不一定是随机的,特别是在版本1实际上是相当可预测的情况下,因为它基于生成它的主机的日期/时间和MAC地址。

因此,最好的方法可能是使用类似于其中一个answers to the prior mentioned question中的代码的东西,根据您自己的规范根据crypto/rand实际生成一个随机文件名,并且不会误用这些库,这些库不一定会为手头的任务提供所需的随机性。

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

代码语言:javascript
运行
AI代码解释
复制
package main

import (
    "crypto/rand"
    "fmt"
)

func random_filename_16_char() (s string, err error) {
    b := make([]byte, 8)
    _, err = rand.Read(b)
    if err != nil {
        return
    }
    s = fmt.Sprintf("%x", b)
    return
}

func main() {
    s, _ := random_filename_16_char()
    fmt.Println(s)
}
票数 5
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/32276773

复制
相关文章
[152]python使用UUID库生成唯一ID
Python官方Doc:《20.15. uuid — UUID objects according to RFC 4122》 UUID的算法介绍:《A Universally Unique IDentifier (UUID) URN Namespace》
周小董
2022/04/12
1.1K0
全局唯一ID--UUID介绍、JAVA中UUID的使用
上面这段解析文是知乎一位朋友的理解(https://www.zhihu.com/question/34876910#answer-31004674),个人感觉从UUID的概念、特征描述比较透彻。
青山师
2023/05/04
2K0
ABAP 生成唯一标识字段uuid ,guid
开启掘金成长之旅!这是我参与「掘金日新计划 · 12 月更文挑战」的第10天,点击查看活动详情
百里丶落云
2022/12/05
3.1K0
ABAP 生成唯一标识字段uuid ,guid
uuid生成唯一数字_java组件有哪些
UUID含义是通用唯一识别码 (Universally Unique Identifier),这 是一个软件建构的标准,也是被开源软件基金会 (Open Software Foundation, OSF) 的组织在分布式计算环境 (Distributed Computing Environment, DCE) 领域的一部份。UUID 的目的,是让分布式系统中的所有元素,都能有唯一的辨识资讯,而不需要透过中央控制端来做辨识资讯的指定。如此一来,每个人都可以建立不与其它人冲突的 UUID。在这样的情况下,就不需考虑数据库建立时的名称重复问题。目前最广泛应用的 UUID,即是微软的 Microsoft’s Globally Unique Identifiers (GUIDs),而其他重要的应用,则有 Linux ext2/ext3 档案系统、LUKS 加密分割区、GNOME、KDE、Mac OS X 等等。
全栈程序员站长
2022/11/08
9460
比UUID更轻量的唯一ID生成器
诚然,UUID 自问世以来,前前后后开发了5个版本。最常用的要属 UUID4了。一起来回顾下它的使用。
程序员老鱼
2023/05/23
1.3K0
比UUID更轻量的唯一ID生成器
JAVA生成uuid_oracle uuid生成
版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 举报,一经查实,本站将立刻删除。
全栈程序员站长
2022/09/29
2K0
Golang 库 - uuid
UUID(Universally Unique IDentifier)是一个128位数字的唯一标识。
twowinter
2020/04/17
14.4K0
golang获取UUID[通俗易懂]
发布者:全栈程序员栈长,转载请注明出处:https://javaforall.cn/169232.html原文链接:https://javaforall.cn
全栈程序员站长
2022/09/22
1.7K0
JAVA生成uuid_oracle随机生成uuid
版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 举报,一经查实,本站将立刻删除。
全栈程序员站长
2022/11/09
2.6K0
在 WordPress 中使用 UUID
UUID,是Universally Unique Identifier的缩写,UUID出现的目的,是为了让分布式系统可以不借助中心节点,就可以生成UUID来标识一些唯一的信息;
Denis
2023/04/24
4440
使用mysql uuid_short() 函数生成17位UUID
mysql> SELECT UUID_SHORT(); -> 92395783831158784 Note that UUID_SHORT() does not work with statement-based replication.
前Thoughtworks-杨焱
2021/12/08
3.1K0
Golang唯一ID生成库特征比较
前段时间碰到友人在看到唯一ID的时候判断不出种类,故专门整理一下不同唯一ID的特征。
HomeboyC
2023/01/08
3.1K1
java在线生成uuid_Java生成uuid
public static String[] chars = new String[]{“a”, “b”, “c”,
全栈程序员站长
2022/11/09
4.3K0
Java 生成 UUID[通俗易懂]
UUID 含义是通用唯一识别码 (Universally Unique Identifier),这是一个软件建构的标准。
全栈程序员站长
2022/09/16
1.7K0
java生成UUID
UUID含义是通用唯一识别码 (Universally Unique Identifier),这是一个软件建构的标准,也是被开源软件基金会 (Open Software Foundation, OSF) 的组织应用在分布式计算环境 (Distributed Computing Environment, DCE) 领域的一部分。
用户7353950
2022/05/11
1.6K0
javascript 生成 uuid
全局唯一标识符(GUID,Globally Unique Identifier)也称作 UUID(Universally Unique IDentifier) 。 GUID是一种由算法生成的二进制长度为128位的数字标识符。GUID 的格式为“xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx”,其中的 x 是 0-9 或 a-f 范围内的一个32位十六进制数。在理想情况下,任何计算机和计算机集群都不会生成两个相同的GUID。 GUID 的总数达到了2^128(3.4×10^38)个,
SpiritLing
2018/04/16
3K0
JS生成UUID
一、UUID是什么   UUID就是Universal Unique IDentifier的缩写,它是一个128位,16字节的值,并确保在时间和空间上唯一。 它是把硬件地址、时间以及随机数结合在一起,它保证对在同一时空中的所有机器都是唯一的。         通常平台会提供生成UUID的API。UUID按照开放软件基金会 (OSF)制定的标准计算,用到了以太网卡地址、纳秒级时间、芯片ID码和许多可能的数字。由以下几部分的组合:当前日期和时间(UUID的第一个部分与时间有关,如果你在生成一个UUID之后,过几
庞小明
2018/03/09
15.1K0
通用唯一标识码UUID的介绍及使用。
什么是UUID? UUID全称:Universally Unique Identifier,即通用唯一识别码。 UUID是由一组32位数的16进制数字所构成,是故UUID理论上的总数为16^32 = 2^128,约等于3.4 x 10^38。也就是说若每纳秒产生1兆个UUID,要花100亿年才会将所有UUID用完。 UUID的标准型式包含32个16进制数字,以连字号分为五段,形式为8-4-4-4-12的32个字符,如:550e8400-e29b-41d4-a716-446655440000。 UUID的
Java技术栈
2018/04/02
5.2K0
通用唯一标识码UUID的介绍及使用。
使用redis生成唯一编号
在项目开发中,我们需要保证数据的唯一性,就目前开发中常用的方式有使用自增序列、GUID、时间戳以及时间戳加上随机数。生成ID的方法有很多,每种适用场景、需求以及性能要求不同。下面我们列出以下较为常用的生成ID的方式,并且来讨论以下他们的优缺点。
喵叔
2021/11/30
2.3K0
Vue使用uuid-npm快速生成uuid,适用于多种场景
UUID 是 通用唯一识别码(Universally Unique Identifier)的缩写,是一种软件建构的标准,亦为开放软件基金会组织在分布式计算环境领域的一部分。其目的,是让分布式系统中的所有元素,都能有唯一的辨识信息,而不需要通过中央控制端来做辨识信息的指定。
德顺
2023/08/25
2K0
Vue使用uuid-npm快速生成uuid,适用于多种场景

相似问题

在Java中使用UUID生成唯一的数字?

40

使用UUID的唯一文件名

12

在android中生成唯一的id (UUID)

34

如何在golang中生成确定的UUID集

119

使用Django中的uuid生成和存储唯一ID

13
添加站长 进交流群

领取专属 10元无门槛券

AI混元助手 在线答疑

扫码加入开发者社群
关注 腾讯云开发者公众号

洞察 腾讯核心技术

剖析业界实践案例

扫码关注腾讯云开发者公众号
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档