博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
Go 面试每天一篇(第 51 天)
阅读量:2287 次
发布时间:2019-05-09

本文共 1629 字,大约阅读时间需要 5 分钟。

点击上方蓝色“Golang来啦”关注我哟

加个“星标”,天天 15 分钟,一起学 Go

你好哇,欢迎来答题,一起来看下

1.下面这段代码输出什么?

1type T struct { 2    ls []int 3} 4 5func foo(t T) { 6    t.ls[0] = 100 7} 8 9func main() {10    var t = T{11        ls: []int{1, 2, 3},12    }1314    foo(t)15    fmt.Println(t.ls[0])16}
  • A. 1

  • B. 100

  • C. compilation error

参考答案及解析:B。调用 foo() 函数时虽然是传值,但 foo() 函数中,字段 ls 依旧可以看成是指向底层数组的指针。

2.下面代码输出什么?

1func main() { 2    isMatch := func(i int) bool { 3        switch(i) { 4        case 1: 5        case 2: 6            return true 7        } 8        return false 9    }1011    fmt.Println(isMatch(1))12    fmt.Println(isMatch(2))13}

参考答案及解析:false true。Go 语言的 switch 语句虽然没有"break",但如果 case 完成程序会默认 break,可以在 case 语句后面加上关键字 fallthrough,这样就会接着走下一个 case 语句(不用匹配后续条件表达式)。或者,利用 case 可以匹配多个值的特性。

修复代码:

1func main() { 2    isMatch := func(i int) bool { 3        switch(i) { 4        case 1: 5            fallthrough 6        case 2: 7            return true 8        } 9        return false10    }1112    fmt.Println(isMatch(1))     // true13    fmt.Println(isMatch(2))     // true1415    match := func(i int) bool {16        switch(i) {17        case 1,2:18            return true19        }20        return false21    }2223    fmt.Println(match(1))       // true24    fmt.Println(match(2))       // true25}

解析若有不妥之处,欢迎在留言区交流、指正!

看下今天的题目:

1func main() {2    var fn1 = func() {}3    var fn2 = func() {}45    if fn1 != fn2 {6        println("fn1 not equal fn2")7    }8}

2.下面代码输出什么?

 
  • A. 1

  • B. compilation error

答案以及解析会在下一篇文章中给出,鼓励大家在留言区留下答案,抱团学习,日拱一卒,每天进步一点!

ps:看完文章如果有收获,顺手花 1s 时间帮点下文末右下方的「在看」,感激!

所有学习上的成功,都只依靠两件事 -- 策略和坚持,而坚持本身就是最重要的策略!

推荐阅读:

如果我的文章对你有所帮助,点赞、转发都是一种支持!

640?

640?wx_fmt=jpeg

 

转载地址:http://swfnb.baihongyu.com/

你可能感兴趣的文章
如何在C++中集成Lua脚本(LuaPlus篇)
查看>>
查找字符串的hash算法
查看>>
软件开发中的矛盾——一个简单的例子
查看>>
VC补遗之Profile篇
查看>>
VC补遗之Debug篇
查看>>
OO世界里的几个基本问题
查看>>
OO给我们带来了什么?
查看>>
Mysql 存储过程
查看>>
虚拟化技术比较 PV HVM
查看>>
无法捕获的C++异常
查看>>
一台机器配置多个ip地址时被动响应和主动发起的源ip选择
查看>>
E1,T1, PRI, Trunk
查看>>
Top的VIRT是什么
查看>>
Linux内核调度器 CFS调优
查看>>
CPU-bound(计算密集型) 和I/O bound(I/O密集型)
查看>>
美国生活小常识
查看>>
从美国回国探亲可带礼品大汇总
查看>>
比较全面的航空公司行李规定以及行李问题咨询
查看>>
化妆品品牌中英文对照
查看>>
关于美国购物的小常识
查看>>