点击上方蓝色“Golang来啦”关注我哟
加个“星标”,天天 15 分钟,一起学 Go
最近开始转凉了,这两天杭州气温下降的特别明显,大家注意别着凉了。
继续我们的每日一题,昨天一共三道题,来看下。
1.
参考答案及解析:BD。知识点:字符串连接。除了以上两种连接方式,还有 strings.Join()、buffer.WriteString()等。
2.贴下原题代码:
1const ( 2 x = iota 3 _ 4 y 5 z = "zz" 6 k 7 p = iota 8) 910func main() {11 fmt.Println(x,y,z,k,p)12}
参考答案及解析:编译通过,输出:0 2 zz zz 5。知识点:iota 的使用。给大家贴篇文章,讲的很详细
https://www.cnblogs.com/zsy/p/5370052.html
3.下面赋值正确的是()
A. var x = nil
B. var x interface{} = nil
C. var x string = nil
D. var x error = nil
参考答案及解析:BD。知识点:nil 值。nil 只能赋值给指针、chan、func、interface、map 或 slice 类型的变量。强调下 D 选项的 error 类型,它是一种内置接口类型,看下方贴出的源码就知道,所以 D 是对的。
1type error interface {2 Error() string3}
欢迎在留言区补充!
看下今天的题目:
1.关于init函数,下面说法正确的是()
A. 一个包中,可以包含多个 init 函数;
B. 程序编译时,先执行依赖包的 init 函数,再执行 main 包内的 init 函数;
C. main 包中,不能有 init 函数;
D. init 函数可以被其他函数调用;
2.下面这段代码输出什么以及原因?
1func hello() []string { 2 return nil 3} 4 5func main() { 6 h := hello 7 if h == nil { 8 fmt.Println("nil") 9 } else {10 fmt.Println("not nil")11 }12}
A. nil
B. not nil
C. compilation error
3.下面这段代码能否编译通过?如果可以,输出什么?
1func GetValue() int { 2 return 1 3} 4 5func main() { 6 i := GetValue() 7 switch i.(type) { 8 case int: 9 println("int")10 case string:11 println("string")12 case interface{}:13 println("interface")14 default:15 println("unknown")16 }17}
答案以及解析会在下一篇文章中给出,鼓励大家在留言区留下答案,抱团学习,日拱一卒,每天进步一点!
ps:看完文章如果有收获,顺手花 1s 时间帮点下文末右下方的「在看」,感激!
所有学习上的成功,都只依靠两件事 -- 策略和坚持,而坚持本身就是最重要的策略!
推荐阅读:
如果我的文章对你有所帮助,点赞、转发都是一种支持!

给个[在看],是对四哥最大的支持
有疑问加站长微信联系(非本文作者)
