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://codercto.com/soft/d/12515.html

JSP网站开发四“酷”全书

JSP网站开发四“酷”全书

万峰科技 / 电子工业出版社 / 2005-9 / 49.00元

本书以JSP为开发语言,选取当前最流行、最具代表性的4类网站:新闻站点、论坛、电子商城和博客(Blog)系统为例,详细介绍了使用JSP开发网站的核心技术。掌握了本书所举4类网站的开发技术,将帮助你成为网站开发的“全能冠军”。 本书结合作者多年在网站系统开发方面的经验,从系统的需求分析开始,确定系统的流程与设计,到模块的划分,再到数据加结构的设计,最后开始每个模块编程开发,贯穿了网站开......一起来看看 《JSP网站开发四“酷”全书》 这本书的介绍吧!

XML、JSON 在线转换
XML、JSON 在线转换

在线XML、JSON转换工具

UNIX 时间戳转换
UNIX 时间戳转换

UNIX 时间戳转换