From 963ba16d7be23b336ba8c2de033cd35cbb40b5e0 Mon Sep 17 00:00:00 2001 From: Ayke van Laethem Date: Fri, 19 Oct 2018 14:40:19 +0200 Subject: compiler: add support for the append builtin --- testdata/slice.go | 24 ++++++++++++++++++++++++ 1 file changed, 24 insertions(+) (limited to 'testdata/slice.go') diff --git a/testdata/slice.go b/testdata/slice.go index 215c213e1..c5e4a3308 100644 --- a/testdata/slice.go +++ b/testdata/slice.go @@ -8,8 +8,32 @@ func main() { printslice("bar", bar) printslice("foo[1:2]", foo[1:2]) println("sum foo:", sum(foo)) + + // copy println("copy foo -> bar:", copy(bar, foo)) printslice("bar", bar) + + // append + var grow []int + printslice("grow", grow) + grow = append(grow, 42) + printslice("grow", grow) + grow = append(grow, -1, -2) + printslice("grow", grow) + grow = append(grow, foo...) + printslice("grow", grow) + grow = append(grow) + printslice("grow", grow) + grow = append(grow, grow...) + printslice("grow", grow) + + // append string to []bytes + bytes := append([]byte{1, 2, 3}, "foo"...) + print("bytes: len=", len(bytes), " cap=", cap(bytes), " data:") + for _, n := range bytes { + print(" ", n) + } + println() } func printslice(name string, s []int) { -- cgit v1.2.3