我需要檢測的是某些struct字段的值是否為空。在這個問題中,我找到了解決方案,但是當(dāng)我在游樂場操作員上嘗試使用它時==,funcreflect.DeepEqual總是返回false。我在做什么錯,我該如何解決?簡單的例子:func main() { s := "" v := reflect.ValueOf(s) t := reflect.TypeOf(s) zero := reflect.Zero(t) fmt.Println(zero == reflect.Zero(t)) // false fmt.Println(v == zero) // false fmt.Println(v == reflect.Zero(t)) // false}我的情況:type S struct { Empty string NotEmpty string}func main() { s := S{ Empty: "", NotEmpty: "Some text", } v := reflect.ValueOf(s) for i := 0; i < v.NumField(); i++ { field := v.Field(i) fmt.Println(field, field == reflect.Zero(field.Type())) }}輸出: falseSome text false
反映零不等于零
哆啦的時光機(jī)
2021-04-02 13:14:44