appendArray appends rv to the buffer, returning the extended buffer and the delimiter used between elements. It panics when n <= 0 or rv's Kind is not reflect.Array nor reflect.Slice.
(b []byte, rv reflect.Value, n int)
| 1083 | // |
| 1084 | // It panics when n <= 0 or rv's Kind is not reflect.Array nor reflect.Slice. |
| 1085 | func appendArray(b []byte, rv reflect.Value, n int) ([]byte, string, error) { |
| 1086 | var del string |
| 1087 | var err error |
| 1088 | |
| 1089 | b = append(b, '{') |
| 1090 | |
| 1091 | if b, del, err = appendArrayElement(b, rv.Index(0)); err != nil { |
| 1092 | return b, del, err |
| 1093 | } |
| 1094 | |
| 1095 | for i := 1; i < n; i++ { |
| 1096 | b = append(b, del...) |
| 1097 | if b, del, err = appendArrayElement(b, rv.Index(i)); err != nil { |
| 1098 | return b, del, err |
| 1099 | } |
| 1100 | } |
| 1101 | |
| 1102 | return append(b, '}'), del, nil |
| 1103 | } |
| 1104 | |
| 1105 | // appendArrayElement appends rv to the buffer, returning the extended buffer |
| 1106 | // and the delimiter to use before the next element. |
no test coverage detected
searching dependent graphs…