为了账号安全,请及时绑定邮箱和手机立即绑定

切片字节数组以符合 Golang 中参数的结构?

切片字节数组以符合 Golang 中参数的结构?

Go
繁华开满天机 2022-10-31 15:57:25
我有大致这样的东西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


查看完整回答
反对 回复 2022-10-31
  • 1 回答
  • 0 关注
  • 78 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信