Example #1
0
func (ft *structSplitFieldsTarget) ZeroField(name string) error {
	key, field, err := ft.StartField(name)
	if err != nil {
		return err
	}
	fld, index := ft.targ.tt.FieldByName(name)
	if index < 0 {
		return vdl.ErrFieldNoExist
	}
	if err := vdl.FromValue(field, vdl.ZeroValue(fld.Type)); err != nil {
		return err
	}
	return ft.FinishField(key, field)
}
Example #2
0
func (mt *mapTarget) FinishKeyStartField(key vdl.Target) (field vdl.Target, err error) {
	val := vdl.ZeroValue(mt.valueType)
	field, err = vdl.ValueTarget(val)
	mt.cachedValues = append(mt.cachedValues, val)
	return
}