继续我们的每日答题,看下昨天的题目解析:
1.参考答案及解析:AD。B 只支持局部变量声明;C 是赋值,str 必须在这之前已经声明;
2.参考答案及解析:5。这个例子中,hello() 函数的参数在执行 defer 语句的时候会保存一份副本,在实际调用 hello() 函数时用,所以是 5.
3.参考答案及解析:
showA
showB
知识点:结构体嵌套。这道题可以结合第 12 天的第三题一起看,Teacher 没有自己 ShowA(),所以调用内部类型 People 的同名方法,需要注意的是第 5 行代码调用的是 People 自己的 ShowB 方法。
欢迎在留言区补充!
看下今天的题目:
func main() {
str := "hello"
str[0] = 'x'
fmt.Println(str)
}
- A. hello
- B. xello
- C. compilation error
2.下面代码输出什么?
func incr(p *int) int {
*p++
return *p
}
func main() {
p :=1
incr(&p)
fmt.Println(p)
}
- A. 1
- B. 2
- C. 3
3.对 add() 函数调用正确的是()
- A. add(1, 2)
- B. add(1, 3, 7)
- C. add([]int{1, 2})
- D. add([]int{1, 3, 7}…)
答案以及解析会在下一篇文章中给出,鼓励大家在留言区留下答案,抱团学习,日拱一卒,每天进步一点!