map.go 701 B

12345678910111213141516171819202122232425262728293031323334
  1. package utils
  2. import (
  3. "fmt"
  4. "reflect"
  5. )
  6. func MergeMaps(destMap, sourceMap map[string]interface{}) map[string]interface{} {
  7. newMap := make(map[string]interface{})
  8. // 将目标 map 的元素复制到新 map 中
  9. for key, value := range destMap {
  10. newMap[key] = value
  11. }
  12. // 将源 map 中的元素合并到新 map 中
  13. for key, value := range sourceMap {
  14. newMap[key] = value
  15. }
  16. return newMap
  17. }
  18. func PrintStructFields(s interface{}) {
  19. v := reflect.ValueOf(s)
  20. if v.Kind() == reflect.Struct {
  21. t := v.Type()
  22. for i := 0; i < v.NumField(); i++ {
  23. fieldName := t.Field(i).Name
  24. fieldValue := v.Field(i).Interface()
  25. fmt.Printf("Key: %s, Value: %v\n", fieldName, fieldValue)
  26. }
  27. }
  28. }