| // run |
| |
| // Copyright 2018 The Go Authors. All rights reserved. |
| // Use of this source code is governed by a BSD-style |
| // license that can be found in the LICENSE file. |
| |
| package main |
| |
| import ( |
| "fmt" |
| ) |
| |
| func f(a []byte) ([]byte, []byte) { |
| return a, []byte("abc") |
| } |
| |
| func g(a []byte) ([]byte, string) { |
| return a, "abc" |
| } |
| |
| func h(m map[int]int) (map[int]int, int) { |
| return m, 0 |
| } |
| |
| func main() { |
| a := []byte{1, 2, 3} |
| n := copy(f(a)) |
| fmt.Println(n, a) |
| |
| b := []byte{1, 2, 3} |
| n = copy(g(b)) |
| fmt.Println(n, b) |
| |
| m := map[int]int{0: 0} |
| fmt.Println(len(m)) |
| delete(h(m)) |
| fmt.Println(len(m)) |
| } |