1
この種の検証はgo-swaggerパッケージにあります。int32(0)が反映されないのはなぜですか?Golangにゼロを入力すると、
// Required validates an interface for requiredness
func Required(path, in string, data interface{}) *errors.Validation {
val := reflect.ValueOf(data)
if reflect.DeepEqual(reflect.Zero(val.Type()), val) {
return errors.Required(path, in)
}
return nil
}
私はそれを使用しようとしましたが、それはいくつかの考えのために私を強制しました。
なぜ以下は真実ではありませんか?
exper := int32(0)
reflect.DeepEqual(
reflect.Zero(reflect.ValueOf(exper).Type()),
reflect.ValueOf(exper)
)