三天假期一晃而过,愉快而又短暂!学习、工作更有劲儿了,加油!
有些同学真勤奋,放假期间都还在答题,向你们学习!一起来看下
1.参考答案及解析:A 声明的是 nil 切片;B 声明的是长度和容量都为 0 的空切片。第一种切片声明不会分配内存,优先选择。
2.参考答案及解析:BD。函数参数为 interface{} 时可以接收任何类型的参数,包括用户自定义类型等,即使是接收指针类型也用 interface{},而不是使用 *interface{}。
永远不要使用一个指针指向一个接口类型,因为它已经是一个指针。
3.参考答案及解析:
A. &S{"foo"}
B. *f() 或者 f()
f() 函数返回参数是指针类型,所以可以用 & 取结构体的指针;B 处,如果填 *f()
,则 p 是 S 类型;如果填 f()
,则 p 是 *S 类型,不过都可以使用 p.m
取得结构体的成员。
欢迎在留言区补充!
看下今天的题目:
package main
import (
"fmt"
)
func main() {
var x string = nil
if x == nil {
x = "default"
}
fmt.Println(x)
}
2.return 之后的 defer 语句会执行吗,下面这段代码输出什么?
答案以及解析会在下一篇文章中给出,鼓励大家在留言区留下答案,抱团学习,日拱一卒,每天进步一点!
标签:nil,22,面试,类型,Go,解析,interface,参考答案,指针 From: https://blog.51cto.com/u_15289640/5840497