2022-07-16:以下go语言代码输出什么?A:[];B:[5];C:[5 0 0 0 0];D:[0 0 0 0 0]。 package main import ( “fmt“ )

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。可以简单的理解切片本身是结构体,参数传递只是结构体复制传递。切片在大多数情况下,只能修改元素,不能删除或者新增元素。

在这里插入图片描述

posted @ 2022-07-16 22:27  福大大架构师每日一题  阅读(14)  评论(0编辑  收藏  举报  来源