diff options
| author | Dmitry Vyukov <dvyukov@google.com> | 2025-12-19 12:52:30 +0100 |
|---|---|---|
| committer | Aleksandr Nogikh <nogikh@google.com> | 2025-12-22 02:13:00 +0000 |
| commit | a83befa0d111a0ba6fac52d763e93c76a2ef94d4 (patch) | |
| tree | 7d3c28b24229429936a631e8ceb24135856b257d /pkg/serializer | |
| parent | 8fb7048c5117ccb592deb5e8e4a62027e6d399cf (diff) | |
all: use any instead of interface{}
Any is the preferred over interface{} now in Go.
Diffstat (limited to 'pkg/serializer')
| -rw-r--r-- | pkg/serializer/serializer.go | 6 | ||||
| -rw-r--r-- | pkg/serializer/serializer_test.go | 4 |
2 files changed, 5 insertions, 5 deletions
diff --git a/pkg/serializer/serializer.go b/pkg/serializer/serializer.go index 3f7770009..c9063c510 100644 --- a/pkg/serializer/serializer.go +++ b/pkg/serializer/serializer.go @@ -16,7 +16,7 @@ import ( // does not write package names before types, omits struct fields with default values, // omits type names where possible, etc. On the other hand, it currently does not // support all types (e.g. channels and maps). -func Write(ww io.Writer, i interface{}) { +func Write(ww io.Writer, i any) { w := writer{ww} v := reflect.ValueOf(i) if v.Kind() == reflect.Slice && (v.IsNil() || v.Len() == 0) { @@ -27,7 +27,7 @@ func Write(ww io.Writer, i interface{}) { w.do(v, false) } -func WriteString(i interface{}) string { +func WriteString(i any) string { var sb strings.Builder Write(&sb, i) return sb.String() @@ -92,7 +92,7 @@ func (w *writer) doInterface(v reflect.Value) { elem := v.Elem() // Handling of user types that has underlying primitive types. Consider: // type T int - // var obj interface{} = T(42) + // var obj any = T(42) // T has kind reflect.Int. But if we serialize obj as just "42", it will be turned into plain int. // Detect this case and serialize obj as "T(42)". if (elem.Kind() == reflect.Bool || elem.Kind() == reflect.String || diff --git a/pkg/serializer/serializer_test.go b/pkg/serializer/serializer_test.go index e4efa6719..94e8fc445 100644 --- a/pkg/serializer/serializer_test.go +++ b/pkg/serializer/serializer_test.go @@ -18,7 +18,7 @@ func TestSerializer(t *testing.T) { B: true, S: "a\x09b", T: T1, - I: []interface{}{ + I: []any{ nil, Y{V: 42}, new(Y), @@ -71,7 +71,7 @@ type X struct { B bool S string T T - I []interface{} + I []any F func() } |
