在Golang中,如何将切片转换为数组

ekaqu:

我是Go的新手,正在尝试编写一个读取RPM文件的应用程序。每个块的开头都有的魔术字符[4]byte

这是我的结构

type Lead struct {
  Magic        [4]byte
  Major, Minor byte
  Type         uint16
  Arch         uint16
  Name         string
  OS           uint16
  SigType      uint16
}

我正在尝试执行以下操作:

lead := Lead{}
lead.Magic = buffer[0:4]

我正在在线搜索,不确定如何从切片到数组(不进行复制)。我总是可以制作魔术[]byte(甚至uint64),但是我对如何从类型转换[]byte类型[4]byte如果需要)感到好奇

twinj:

内置方法copy只会将一个切片复制到一个切片,而不是将切片复制到一个数组。

您必须欺骗复制以将数组视为切片

copy(varLead.Magic[:], someSlice[0:4])

或使用for循环进行复制:

for index, b := range someSlice {

    varLead.Magic[index] = b

}

或者按照zupa所做的使用文字进行操作。我已添加到他们的工作示例中。

去操场

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章

如何将切片转换为数组?

如何将切片转换为数组引用?

如何将切片转换为序列?

如何将切片转换为固定大小的数组?

如何将数组强制转换为匹配臂中的切片?

如何将多维切片[] interface {}转换为切片[] string?

如何将字符串切片转换为符文切片

如何将整数切片的字符串转换为整数切片?

将cgo数组转换为切片

将切片转换为数组指针

gjson:将 json 数组转换为切片

如何将接口的二维切片转换为结构

如何将RGB byte []切片转换为image.Image?

如何将2D字符串切片转换为[] byte?

如何将切片对象转换为布尔索引?

如何将接口保存的数据转换为切片(当接口数据的结构已知时)?{}

如何将4字节的切片转换为符文?在围棋

如何将嵌套接口转换为地图切片的地图?

如何将键值映射转换为int的切片

如何更有效地将切片字符串转换为切片对象,然后可用于在 PyTorch / NumPy 中对数组和张量进行切片?

如何应用切片窗口将大熊猫转换为二维数组?

从切片转换为数组?

如何从Golang的Postgres数组中获取切片?

如何将实际上是类型为 reflect.Int32 的类型切片的 interface{} 转换为 int32 的切片?

如何在Golang中将自定义类型切片转换为原始切片?

在NumPy 1.14中将结构化数组的切片转换为常规NumPy数组

如何将十六进制字符串转换为u8切片?

如何将十六进制切片转换为带二进制补码的浮点数

使用 Javascript,如何将 Google 文档转换为 PDF 文件,然后将其“切片”为多个 PDF?