appendArray appends rv to the buffer, returning the extended buffer and the delimiter used between elements. Returns an error when n <= 0 or rv is not a reflect.Array or reflect.Slice.
(b []byte, rv reflect.Value, n int)
| 692 | // |
| 693 | // Returns an error when n <= 0 or rv is not a reflect.Array or reflect.Slice. |
| 694 | func appendArray(b []byte, rv reflect.Value, n int) ([]byte, string, error) { |
| 695 | var del string |
| 696 | var err error |
| 697 | |
| 698 | b = append(b, '{') |
| 699 | |
| 700 | if b, del, err = appendArrayElement(b, rv.Index(0)); err != nil { |
| 701 | return b, del, err |
| 702 | } |
| 703 | |
| 704 | for i := 1; i < n; i++ { |
| 705 | b = append(b, del...) |
| 706 | if b, del, err = appendArrayElement(b, rv.Index(i)); err != nil { |
| 707 | return b, del, err |
| 708 | } |
| 709 | } |
| 710 | |
| 711 | return append(b, '}'), del, nil |
| 712 | } |
| 713 | |
| 714 | // appendArrayElement appends rv to the buffer, returning the extended buffer |
| 715 | // and the delimiter to use before the next element. |
no test coverage detected
searching dependent graphs…