mirror of
				https://github.com/TeaOSLab/EdgeCommon.git
				synced 2025-11-04 05:00:24 +08:00 
			
		
		
		
	
		
			
				
	
	
		
			21 lines
		
	
	
		
			417 B
		
	
	
	
		
			Go
		
	
	
	
	
	
			
		
		
	
	
			21 lines
		
	
	
		
			417 B
		
	
	
	
		
			Go
		
	
	
	
	
	
package configutils
 | 
						|
 | 
						|
import (
 | 
						|
	"reflect"
 | 
						|
)
 | 
						|
 | 
						|
// 拷贝同类型struct指针对象中的字段
 | 
						|
func CopyStructObject(destPtr, sourcePtr interface{}) {
 | 
						|
	value := reflect.ValueOf(destPtr)
 | 
						|
	value2 := reflect.ValueOf(sourcePtr)
 | 
						|
 | 
						|
	countFields := value2.Elem().NumField()
 | 
						|
	for i := 0; i < countFields; i++ {
 | 
						|
		v := value2.Elem().Field(i)
 | 
						|
		if !v.IsValid() || !v.CanSet() {
 | 
						|
			continue
 | 
						|
		}
 | 
						|
		value.Elem().Field(i).Set(v)
 | 
						|
	}
 | 
						|
}
 |