2025-09-30 18:41:21 +08:00
2025-09-22 16:28:02 +08:00
u
2025-09-30 18:41:21 +08:00
u
2025-09-30 18:41:21 +08:00
u
2025-09-30 18:41:21 +08:00
2025-09-28 16:16:30 +08:00
u
2025-09-30 18:41:21 +08:00
u
2025-09-30 18:41:21 +08:00
fix
2025-09-29 15:28:09 +08:00
fix
2025-09-29 15:28:09 +08:00
2025-09-26 18:22:17 +08:00
2025-09-30 10:24:35 +08:00
2025-09-28 16:16:30 +08:00
u
2025-09-30 18:41:21 +08:00
u
2025-09-30 18:41:21 +08:00

copier

Golang object deep copy library

  1. 支持深度复制,包括结构体、切片、数组、映射、指针、接口等。
  2. 支持通过标签tag来指定字段复制行为。
  3. 支持忽略空值。
  4. 支持字段名称转换(如驼峰转下划线)。
  5. 支持自定义转换函数。
  6. 支持时间类型的特殊处理。
  7. 支持循环引用的检测。
  8. 支持最大深度限制。
  • 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
Golang object deep copy library
Readme 129 KiB
Languages
Go 100%