我有大致这样的东西type Guid [16]bytetype Payload struct { .... SthGuid [17]byte}func (h *...) Get(guid Guid) (... error) {}我想用 SthGuid 的最后 16 个字节调用 Get。例如,Get(PayloadInstance.SthGuid[1:16]))无法将 SthGuid[1:16]([]byte 类型的值)转换为 Guid我正在尝试调用 SthGuid[1:] 对第一个字节进行切片并将最后 16 个字节用作输入参数。那样不行。
1 回答
犯罪嫌疑人X
TA贡献2080条经验 获得超4个赞
您可以使用正确的类型复制数组,例如:
var guid [16]byte
copy(guid[:], SthGuid[1:16])
Get(guid)
或者,作为 Go 1.17,您可以尝试使用切片到数组的转换:
https://tip.golang.org/ref/spec#Conversions_from_slice_to_array_pointer
- 1 回答
- 0 关注
- 78 浏览
添加回答
举报
0/150
提交
取消