[agent-go] - 去除本地环境信息的默认设置,优化启动逻辑

This commit is contained in:
zeaslity
2024-04-28 16:41:44 +08:00
parent 88d75a704e
commit f124972b84
7 changed files with 83 additions and 30 deletions

View File

@@ -0,0 +1,21 @@
package utils
import "reflect"
// CopySameFields 利用反射将a中的所有同名字段的值 复制到b中的对应字段
func CopySameFields(source, target interface{}) {
va := reflect.ValueOf(source).Elem()
vb := reflect.ValueOf(target).Elem()
for i := 0; i < va.NumField(); i++ {
// 忽略source中 空值的部分
if va.Field(i).IsZero() {
continue
}
fieldName := va.Type().Field(i).Name
if vb.FieldByName(fieldName).IsValid() {
vb.FieldByName(fieldName).Set(va.Field(i))
}
}
}