2022-07-16:以下go語言程式碼輸出什麼?A:[];B:[5];C:[5 0 0 0 0];D:[0 0 0

moonfdd發表於2022-07-16

2022-07-16:以下go語言程式碼輸出什麼?A:[];B:[5];C:[5 0 0 0 0];D:[0 0 0 0 0]。

package main

import (
    "fmt"
)

func main() {
    a := make([]int, 0, 5)
    addElem(a, 5)
    fmt.Println(a)
}

func addElem(a []int, i int) {
    a = append(a, 5)
}

答案選A。可以簡單的理解切片本身是結構體,引數傳遞只是結構體複製傳遞。切片在大多數情況下,只能修改元素,不能刪除或者新增元素。

在這裡插入圖片描述

本作品採用《CC 協議》,轉載必須註明作者和本文連結
微信公眾號:福大大架構師每日一題。最新面試題,涉及golang,rust,mysql,redis,雲原生,演算法,分散式,網路,作業系統。

相關文章