MCPcopy
hub / github.com/1Panel-dev/KubePi / ApplyDefaultValues

Function ApplyDefaultValues

thirdparty/gotty/utils/default.go:10–41  ·  view source on GitHub ↗
(struct_ interface{})

Source from the content-addressed store, hash-verified

8)
9
10func ApplyDefaultValues(struct_ interface{}) (err error) {
11 o := structs.New(struct_)
12
13 for _, field := range o.Fields() {
14 defaultValue := field.Tag("default")
15 if defaultValue == "" {
16 continue
17 }
18 var val interface{}
19 switch field.Kind() {
20 case reflect.String:
21 val = defaultValue
22 case reflect.Bool:
23 if defaultValue == "true" {
24 val = true
25 } else if defaultValue == "false" {
26 val = false
27 } else {
28 return fmt.Errorf("invalid bool expression: %v, use true/false", defaultValue)
29 }
30 case reflect.Int:
31 val, err = strconv.Atoi(defaultValue)
32 if err != nil {
33 return err
34 }
35 default:
36 val = field.Value()
37 }
38 field.Set(val)
39 }
40 return nil
41}

Callers

nothing calls this directly

Calls 2

NewMethod · 0.65
SetMethod · 0.45

Tested by

no test coverage detected