Golang 复制版 Copier

码农软件 · 软件分类 · 常用工具包 · 2019-08-16 19:44:49

软件介绍

Copier 是 Golang 的复制版,它从一个结构复制到了另一个结构。它具有以下特点:

  • 如果名字匹配,就从一个场景复制到另一个场景

  • 如果方法名和场景名匹配,就从方法复制到场景

  • 如果场景名和方法名匹配,就从场景复制到方法

  • 从片复制到片

  • 从结构复制到片

示例代码:

import . "github.com/jinzhu/copier"
type User struct {
    Name string
    Role string
    Age  int32}
    func (user *User) DoubleAge() int32 {
        return 2 * user.Age}
        type Employee struct {
            Name
            string
    Age       int32
    DoubleAge int32
    EmployeId int64
    SuperRule string}func (employee *Employee) Role(role string) {
    employee.SuperRule = "Super " + role
}
user := User{Name: "Jinzhu", Age: 18, Role: "Admin"}
employee := Employee{}Copy(&employee, &user)
// employee => Employee{ Name: "Jinzhu",           
// Copy from field
//                       Age: 18,                  
// Copy from field
//                       DoubleAge: 36,            
// Copy from method
//                       EmployeeId: 0,            
// Just ignored
//                       SuperRule: "Super Admin", 
// Copy to method
//                      }
// Copy struct to slice
user := User{Name: "hello", Age: 18, Role: "User"}
employees := []Employee{}Copy(&employees, &user)
// employees => [{hello 18 0 36 Super User}]
// Copy slice to sliceusers := []User{{Name: "Jinzhu", Age: 18, Role: "Admin"}, {Name: "jinzhu 2", Age: 30, Role: "Dev"}}
employees := []Employee{}Copy(&employees, &users)
// employees => [{hello 18 0 36 Super User} 
{Jinzhu 18 0 36 Super Admin} {jinzhu 2 30 0 60 Super Dev}]

本文地址:https://www.codercto.com/soft/d/12515.html

Java Web入门经典

Java Web入门经典

王国辉、陈英 / 机械工业出版社 / 2013-6 / 69.00元

《Java Web入门经典》以初学者为核心,全面介绍了JavaWeb开发中常用的各种技术。内容排列上由浅入深,让读者循序渐进掌握编程技术;在内容讲解上结合丰富的图解和形象的比喻,帮助读者理解“晦涩难懂”的技术;在内容形式上附有大量的提示、技巧、说明等栏目,夯实读者编程技术,丰富编程经验。全书共分4篇19章,其中,第一篇为“起步篇”,主要包括开启JavaWeb之门、不可不知的客户端应用技术、驾驭Ja......一起来看看 《Java Web入门经典》 这本书的介绍吧!

JS 压缩/解压工具
JS 压缩/解压工具

在线压缩/解压 JS 代码

RGB转16进制工具
RGB转16进制工具

RGB HEX 互转工具

XML 在线格式化
XML 在线格式化

在线 XML 格式化压缩工具