Из слайса берут подслайс длины 1. Три варианта: (1) меняют элемент подслайса; (2) аппендят один элемент и меняют элемент результата; (3) аппендят два элемента и меняют элемент результата. Что выведет исходный слайс в каждом случае?
1func caseOne() {2 base := []string{"x", "y", "z"}3 sub := base[1:2]4 sub[0] = "Q"5 fmt.Printf("%s\n", base)6}7 8func caseTwo() {9 base := []byte{'x', 'y', 'z'}10 sub := base[1:2]11 grown := append(sub, 'w')12 grown[0] = 'Q'13 fmt.Printf("%s\n", base)14}15 16func caseThree() {17 base := []byte{'x', 'y', 'z'}18 sub := base[1:2]19 grown := append(sub, 'w', 'v')20 grown[0] = 'Q'21 fmt.Printf("%s\n", base)22}23 24func main() {25 caseOne()26 caseTwo()27 caseThree()28}