<kbd id="afajh"><form id="afajh"></form></kbd>
<strong id="afajh"><dl id="afajh"></dl></strong>
    <del id="afajh"><form id="afajh"></form></del>
        1. <th id="afajh"><progress id="afajh"></progress></th>
          <b id="afajh"><abbr id="afajh"></abbr></b>
          <th id="afajh"><progress id="afajh"></progress></th>

          CopierGolang 復制版

          聯(lián)合創(chuàng)作 · 2023-09-28 13:56

          Copier 是 Golang 的復制版,它從一個結(jié)構(gòu)復制到了另一個結(jié)構(gòu)。它具有以下特點:

          • 如果名字匹配,就從一個場景復制到另一個場景

          • 如果方法名和場景名匹配,就從方法復制到場景

          • 如果場景名和方法名匹配,就從場景復制到方法

          • 從片復制到片

          • 從結(jié)構(gòu)復制到片

          示例代碼:

          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}]
          瀏覽 23
          點贊
          評論
          收藏
          分享

          手機掃一掃分享

          編輯 分享
          舉報
          評論
          圖片
          表情
          推薦
          點贊
          評論
          收藏
          分享

          手機掃一掃分享

          編輯 分享
          舉報
          <kbd id="afajh"><form id="afajh"></form></kbd>
          <strong id="afajh"><dl id="afajh"></dl></strong>
            <del id="afajh"><form id="afajh"></form></del>
                1. <th id="afajh"><progress id="afajh"></progress></th>
                  <b id="afajh"><abbr id="afajh"></abbr></b>
                  <th id="afajh"><progress id="afajh"></progress></th>
                  亚洲AV无码成人精品区国产 | 国产成人无码精品A级毛片抽搐 | 欧日无码一区二区三区在线 | 91高清无码免费看 | 国产91福利 |