第 22-2 章:Slice Copy(切片拷贝)

1. 章节简介

  • 使用 copy 函数复制切片内容,生成独立副本。

2. 知识点讲解

  • 语法
copy(dest, src)
  • 返回复制元素的数量
  • 注意:copy 仅复制元素,不改变容量

3. 代码示例

package main

import "fmt"

func main() {
    src := []int{1,2,3,4}
    dest := make([]int, len(src)) // 创建目标切片
    n := copy(dest, src)
    fmt.Println("Copied elements:", n)
    fmt.Println("Source:", src)
    fmt.Println("Destination:", dest)

    // 修改 dest 不影响 src
    dest[0] = 100
    fmt.Println("After modification, src:", src)
    fmt.Println("After modification, dest:", dest)
}

4. 练习任务

  1. 创建切片 a := []int{1,2,3},拷贝到新切片 b
  2. 修改 b 的元素,验证是否影响 a
  3. 尝试拷贝部分元素,只复制前 2 个。

5. 小结

  • copy 创建独立切片副本。
  • 修改目标切片不影响源切片。
  • 可用于切片深拷贝。

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

相关阅读更多精彩内容

友情链接更多精彩内容