在 Go 语言中实现深拷贝(Deep Copy)通常有以下几种方式:
手动逐字段拷贝(适合结构体简单、字段较少的场合)
利用序列化与反序列化(如 encoding/json、encoding/gob 等)
使用第三方库(如 copier、deepcopy)
下面分别给出典型的实现方式和完整源码示例。
1. 使用 encoding/json 实现深拷贝
适合结构体成员均可被 JSON 支持的类型。
package main
import (
"encoding/json"
"fmt"
)
type Person struct