点击上方蓝色“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)
9
10func 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() string
3}
欢迎在留言区补充!
看下今天的题目:
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 时间帮点下文末右下方的「在看」,感激!
所有学习上的成功,都只依靠两件事 -- 策略和坚持,而坚持本身就是最重要的策略!
推荐阅读:
如果我的文章对你有所帮助,点赞、转发都是一种支持!
给个[在看],是对四哥最大的支持
有疑问加站长微信联系(非本文作者)