aboutsummaryrefslogtreecommitdiff
path: root/src/encoding/json/encode.go
diff options
context:
space:
mode:
authorandig <cpuidle@gmx.de>2023-10-14 09:32:20 +0000
committerGopher Robot <gobot@golang.org>2023-10-18 20:00:40 +0000
commit1d400cdfc995b1467d6901e0042bca0f37ffdec2 (patch)
tree2ecf9db91fe83cb6391b18cf01d95707b2d8d08d /src/encoding/json/encode.go
parentd1cb2483b70827f8f2f839fe7b0f140c910fc5b7 (diff)
downloadgo-1d400cdfc995b1467d6901e0042bca0f37ffdec2.tar.xz
encoding/json: use reflect.Value.IsZero
IsZero does the same thing, using this rather than writing it again. Follow-up to https://github.com/golang/go/pull/63519 Change-Id: I93768874052935dd7cb58804f22748091bcc3ef7 GitHub-Last-Rev: dfbc6ed635125535a73fe509716e0df31cc8f7b0 GitHub-Pull-Request: golang/go#63540 Reviewed-on: https://go-review.googlesource.com/c/go/+/535415 Auto-Submit: Ian Lance Taylor <iant@google.com> Reviewed-by: Carlos Amedee <carlos@golang.org> LUCI-TryBot-Result: Go LUCI <golang-scoped@luci-project-accounts.iam.gserviceaccount.com> Reviewed-by: Joseph Tsai <joetsai@digital-static.net> Reviewed-by: Ian Lance Taylor <iant@google.com>
Diffstat (limited to 'src/encoding/json/encode.go')
-rw-r--r--src/encoding/json/encode.go16
1 files changed, 6 insertions, 10 deletions
diff --git a/src/encoding/json/encode.go b/src/encoding/json/encode.go
index 9d6d7adcef..d6f6900dc9 100644
--- a/src/encoding/json/encode.go
+++ b/src/encoding/json/encode.go
@@ -307,16 +307,12 @@ func isEmptyValue(v reflect.Value) bool {
switch v.Kind() {
case reflect.Array, reflect.Map, reflect.Slice, reflect.String:
return v.Len() == 0
- case reflect.Bool:
- return v.Bool() == false
- case reflect.Int, reflect.Int8, reflect.Int16, reflect.Int32, reflect.Int64:
- return v.Int() == 0
- case reflect.Uint, reflect.Uint8, reflect.Uint16, reflect.Uint32, reflect.Uint64, reflect.Uintptr:
- return v.Uint() == 0
- case reflect.Float32, reflect.Float64:
- return v.Float() == 0
- case reflect.Interface, reflect.Pointer:
- return v.IsNil()
+ case reflect.Bool,
+ reflect.Int, reflect.Int8, reflect.Int16, reflect.Int32, reflect.Int64,
+ reflect.Uint, reflect.Uint8, reflect.Uint16, reflect.Uint32, reflect.Uint64, reflect.Uintptr,
+ reflect.Float32, reflect.Float64,
+ reflect.Interface, reflect.Pointer:
+ return v.IsZero()
}
return false
}