我需要檢測的是某些struct字段的值是否為空。在這個問題中,我找到了解決方案,但是當我在游樂場操作員上嘗試使用它時==,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
- 1 回答
- 0 關注
- 226 瀏覽
添加回答
舉報
0/150
提交
取消