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

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

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

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

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

1.下面代码输出什么?

1func main() {2    var ch chan int3    select {4    case v, ok := <-ch:5        println(v, ok)6    default:7        println("default") 8    }9}

参考答案及解析:default。ch 为 nil,读写都会阻塞。

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

1type People struct { 2    name string `json:"name"` 3} 4 5func main() { 6    js := `{ 7        "name":"seekload" 8    }` 9    var p People10    err := json.Unmarshal([]byte(js), &p)11    if err != nil {12        fmt.Println("err: ", err)13        return14    }15    fmt.Println(p)16}

参考答案及解析:输出 {}。知识点:结构体访问控制,因为 name 首字母是小写,导致其他包不能访问,所以输出为空结构体。修复代码:

1type People struct {2    Name string `json:"name"`3}

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

看下今天的题目:

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

2.下面代码输出什么?

 

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

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

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

推荐阅读:

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

640?

640?wx_fmt=jpeg

 

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

你可能感兴趣的文章
Paxos与ZooKeeper
查看>>
单进程 vs 多进程
查看>>
UUID做主键,好还是不好?这是个问题。
查看>>
Amazon AWS 各大区到天朝的网络延迟
查看>>
和领导沟通
查看>>
商业模式和赚钱的艺术
查看>>
STL heap用法
查看>>
STL 常见的注意问题
查看>>
一个高效的定时器分析及设计
查看>>
Linux下c实现协程-Coroutine
查看>>
李学凌:YY运营秘诀
查看>>
开发Android应用赚钱
查看>>
Android屏幕大小和密度对照表,以及px、dip、sp等像素单位的解释
查看>>
SNMP监测 Radisys media server 性能
查看>>
如何生成以及导入X.509证书
查看>>
Linux Kickstart无人值守安装
查看>>
在debian(sarge)下安装stun server的过程及NAT穿越
查看>>
linux静态库和动态库分析
查看>>
SIP Session Timers
查看>>
SIP扩展与相关RFC介绍
查看>>