- 授权协议: MIT
- 开发语言: Google Go
- 操作系统: 跨平台
- 软件首页: https://github.com/jinzhu/copier
软件介绍
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}]
数据结构(C语言版)
严蔚敏、吴伟民 / 清华大学出版社 / 2012-5 / 29.00元
《数据结构》(C语言版)是为“数据结构”课程编写的教材,也可作为学习数据结构及其算法的C程序设计的参数教材。 本书的前半部分从抽象数据类型的角度讨论各种基本类型的数据结构及其应用;后半部分主要讨论查找和排序的各种实现方法及其综合分析比较。其内容和章节编排1992年4月出版的《数据结构》(第二版)基本一致,但在本书中更突出了抽象数据类型的概念。全书采用类C语言作为数据结构和算法的描述语言。 ......一起来看看 《数据结构(C语言版)》 这本书的介绍吧!
