在 Go 中,可以通过使用技巧或 for 循环将切片转换为数组而不进行复制。
要使用这个技巧,请将数组作为切片传递给副本函数:
type Lead struct { Magic [4]byte Major, Minor byte Type uint16 Arch uint16 Name string OS uint16 SigType uint16 } lead := Lead{} copy(lead.Magic[:], buffer[0:4])
或者,可以使用 for 循环:
for index, b := range buffer[0:4] { lead.Magic[index] = b }
使用文字,可以将切片直接转换为数组:
type Lead struct { Magic [4]byte Major, Minor byte Type uint16 Arch uint16 Name string OS uint16 SigType uint16 } lead := Lead{ Magic: [4]byte{'h', 'e', 'l', 'l'}, ... }
以上是如何在不复制的情况下将 Go 切片转换为数组?的详细内容。更多信息请关注PHP中文网其他相关文章!