在golang中连接uuid

时间:2018-03-31 09:59:11

标签: go uuid string-concatenation

我阅读了here如何使用bytes.Bufferstrings.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

1 个答案:

答案 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, "-")