登录
首页 >  Golang >  Go问答

Golang中如何将字节数组切割为符合参数结构的片段?

来源:stackoverflow

时间:2024-02-15 17:24:26 312浏览 收藏

偷偷努力,悄无声息地变强,然后惊艳所有人!哈哈,小伙伴们又来学习啦~今天我将给大家介绍《Golang中如何将字节数组切割为符合参数结构的片段?》,这篇文章主要会讲到等等知识点,不知道大家对其都有多少了解,下面我们就一起来看一吧!当然,非常希望大家能多多评论,给出合理的建议,我们一起学习,一起进步!

问题内容

我有大约这样的东西

type guid [16]byte

type 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 个字节作为输入参数。那样不行。


正确答案


您可以使用正确的类型复制数组,例如:

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

理论要掌握,实操不能落!以上关于《Golang中如何将字节数组切割为符合参数结构的片段?》的详细介绍,大家都掌握了吧!如果想要继续提升自己的能力,那么就来关注golang学习网公众号吧!

声明:本文转载于:stackoverflow 如有侵犯,请联系study_golang@163.com删除
相关阅读
更多>
最新阅读
更多>
课程推荐
更多>