715033f650841056b201804aef180540308e8199
copier
Golang object deep copy library
- 支持深度复制,包括结构体、切片、数组、映射、指针、接口等。
- 支持通过标签(tag)来指定字段复制行为。
- 支持忽略空值。
- 支持字段名称转换(如驼峰转下划线)。
- 支持自定义转换函数。
- 支持时间类型的特殊处理。
- 支持循环引用的检测。
- 支持最大深度限制。
- map->map
- slice->slice
- struct->struct
- map->struct
- struct->map
Usage
package main
import (
"fmt"
"git.charlienet.top/go/copier"
)
type User struct {
Name string
Age int
}
type User2 struct {
Name string
Age int
}
func main() {
user := User{
Name: "chenquan",
Age: 18,
}
user2 := User2{}
err := copier.Copy(&user2, &user)
if err != nil {
fmt.Println(err)
}
fmt.Println(user2)
}
Description
Languages
Go
100%