2022-08-27:以下go語言代碼輸出什麼?A:0;B:panic;C:7;D:不清楚。
package main
import (
"fmt"
)
func main() {
a := make([]int, 20)
a = []int{7, 8, 9, 10}
b := a[15:16]
fmt.Println(b)
}
複制
答案選B。a 被重新指派為 []int{7, 8, 9, 10},之前 make 建立的 slice 跟 a 沒有任何關系了。是以 a15:16 肯定會越界,是以 panic。
![](https://img.laitimes.com/img/__Qf2AjLwojIjJCLyojI0JCLiAjM2EzLcd3LcJzLcJzdllmVldWYtl2Pn5GcuMGMhNTN4UDM0EjN0MmNzYTYiF2M1QWN5YzNzQDOihTOvwlN2QDMyYzNtUGall3LcVmdhNXLwRHdo9CXt92YucWbpRWdvx2Yx5yazF2Lc9CX6MHc0RHaiojIsJye.png)
在這裡插入圖檔描述