我是新手,想把一个数组(切片)复制到另一个数组的一部分.例如,我有一个largeArray[1000]字节或其他什么,还有一个smallArray[10]字节,我希望largeArray的前10个字节等于smallArray的内容.我试过:

largeArray[0:10] = smallArray[:]

但这似乎不起作用.是有一个内置的memcpy函数,还是我只需要自己编写一个?

谢谢!

推荐答案

使用copy内置功能.

package main

func main() {
    largeArray := make([]byte, 1000)
    smallArray := make([]byte, 10)
    copy(largeArray[0:10], smallArray[:])
}

Go相关问答推荐

如何将泛型函数作为参数传递给golang中的另一个函数?

如何使用Promela建模语言对Golang RWLock进行建模

即使HTTP服务器正在使用GO和Protobuf、SQL Server启动,请求也不返回结果

exec的可执行决议.命令+路径

go aws-lambda 与 terraform 中的 exec 格式错误

Kafka golang 生产者在错误后更改分区计数

使用Goldmark在golang中添加ChildNode会导致堆栈溢出

使用Cookie身份验证的Gorilla Golang Websocket优化

在 Golang 中查看目录是否可写的跨平台方式?

如何使用 go-git 将特定分支推送到远程

类型/ struct 函数的 GoDoc 示例函数

如果值为 false,gRPC 不返回布尔值

从Go中的随机日期开始以天为单位获取时间

如何在自定义验证函数中获取 struct 名称

有没有办法将 yaml node 添加到 golang 中现有的 yaml 文档中?

切片到数组指针的转换

Golang - 无法从 pipped Windows 命令中获取结果

每 N 秒运行一次函数,上下文超时

如何在循环中旋转图像以便在 golang 中创建 GIF?

在 Go 中表达函数的更好方法( struct 方法)