INNER CODE UNIT · Go

ParseChild

ozontech/file.d · cfg/config.go:385

func ParseChild(parent reflect.Value, v reflect.Value, values map[string]int) error {
	if !v.CanAddr() {
		return nil
	}

	for i := range v.NumField() {
		// set parent value only if child has zero value
		if !v.Field(i).IsZero() {
			continue
		}

		name := v.Type().Field(i).Name
		val := parent.FieldByName(name)
		if val.CanAddr() {
			v.Field(i).Set(val)
		}
	}

View source record →

📰 Research Paper
Loading…
⏳ Fetching content…