我阅读了here如何使用bytes.Buffer
或strings.Builder
在GO中高效转换字符串。那么如何在使用satori/go.uuid的uuid im中实现相同的功能,因为这样做
var buffer bytes.Buffer
var s string
for i := 0; i < 2; i++ {
s = buffer.WriteString(uuid.Must(uuid.NewV4()))
}
产生此错误Cannot use 'uuid.Must(uuid.NewV4())' as type string
。
我的目标是这样的&#39;就像这个15094a36-8827-453a-b27a-598421dbd73b-803bc133-dbc5-4629-9a2e-ef8ed3f1372e
答案 0 :(得分:2)
uuid.Must(uuid.NewV4())
的类型为uuid.UUID
,而不是string
。调用UUID.Sring()
方法获取string
。完成连接后,请致电buffer.String()
以获取string
:
var buffer bytes.Buffer
for i := 0; i < 2; i++ {
if i > 0 {
buffer.WriteByte('-')
}
buffer.WriteString(uuid.Must(uuid.NewV4()).String())
}
s := buffer.String()
另一种方法是加入字符串:
var uuids []string
for i := 0; i < 2; i++ {
uuids = append(uuids, uuid.Must(uuid.NewV4()).String())
}
s := strings.Join(uuids, "-")