• 0 Open
    0 Closed

    从Struct复制到Struct时,先循环可匹配的字段。然后循环在源数据中不存在字段,在源数据中MethodByName获取方法并执行,然后对目标赋值。

    1. 获取结构向结构复制对象,使用srcType和dstType做为键
    2. 循环目标结构字段,从源字段复制值到目标字段
    3. 循环目标结构字段在源中不存在字段
    4. 在源结构中使用MethodByName获取方法并调用。
    5. 取到的值赋值给目标对象
    if dstField.NotIn(src.Fields) {
         src.MethodByName()
    }