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

算法引论

算法引论

[美]乌迪·曼博(Udi Manber) / 黄林鹏、谢瑾奎、陆首博、等 / 电子工业出版社 / 2010-1 / 36.00元

本书是国际算法大师乌迪·曼博(Udi Manber)博士撰写的一本享有盛誉的著作。全书共分12章:第1章到第4章为介绍性内容,涉及数学归纳法、算法分析、数据结构等内容;第5章提出了与归纳证明进行类比的算法设计思想;第6章到第9章分别给出了4个领域的算法,如序列和集合的算法、图算法、几何算法、代数和数值算法;第10章涉及归约,也是第11章的序幕,而后者涉及NP完全问题;第12章则介绍了并行算法;最后......一起来看看 《算法引论》 这本书的介绍吧!

图片转BASE64编码
图片转BASE64编码

在线图片转Base64编码工具

URL 编码/解码
URL 编码/解码

URL 编码/解码

Markdown 在线编辑器
Markdown 在线编辑器

Markdown 在线编辑器