知识卡片
数组复制成本明确
内容
数组是值类型,赋值和传参会复制整个数组;大数组应考虑指针或切片。发散:Go 的值语义清晰,但清晰不等于没有成本。
参考来源
- 位置:《Go语言入门到实战(共3册)》第30章《Go语言学习笔记:第5章 数据》(源文件:_epub-src/text/part0064.html)
- 结论依据:原文围绕“可改用指针或切片,以此避免数据复制”给出定义、机制、流程、对比或限制条件,本卡片据此提炼可迁移的语言/工程结论,并补充了边界或实践启发。
- 原始内容:20] b: 0xc820076060, [10 20] x: 0xc8200760a0, [10 20] 如果需要,可改用指针或切片,以此避免数据复制。 func test(x *[2]int) { fmt.Printf("x: %p, %v\n", x, *x) x[1] += 100 } fu……