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

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

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

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

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

1.关于 channel 下面描述正确的是?

  • A. 向已关闭的通道发送数据会引发 panic;

  • B. 从已关闭的缓冲通道接收数据,返回已缓冲数据或者零值;

  • C. 无论接收还是接收,nil 通道都会阻塞;

参考答案及解析:ABC。

2.下面的代码有几处问题?请详细说明。

1type T struct { 2    n int 3} 4 5func (t *T) Set(n int) { 6    t.n = n 7} 8 9func getT() T {10    return T{}11}1213func main() {14    getT().Set(1)15}

参考答案及解析:有两处问题:

  • 1.直接返回的 T{} 不可寻址;

  • 2.不可寻址的结构体不能调用带结构体指针接收者的方法;

修复代码:

1type T struct { 2    n int 3} 4 5func (t *T) Set(n int) { 6    t.n = n 7} 8 9func getT() T {10    return T{}11}1213func main() {14    t := getT()15    t.Set(2)16    fmt.Println(t.n)17}

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

看下今天的题目:

1func (n N) value(){ 2    n++ 3    fmt.Printf("v:%p,%v\n",&n,n) 4} 5 6func (n *N) pointer(){ 7    *n++ 8    fmt.Printf("v:%p,%v\n",n,*n) 9}101112func main() {1314    var a N = 251516    p := &a17    p1 := &p1819    p1.value()20    p1.pointer()21}

2.下面的代码输出什么?

 

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

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

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

推荐阅读:

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

640?

640?wx_fmt=jpeg

 

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

你可能感兴趣的文章
机器学习_算法_AdaBoost
查看>>
机器学习_算法_KNN
查看>>
Deep Learning_main
查看>>
Deep Learning_mnist background introduction
查看>>
linux_shell_util
查看>>
Project manage_maven3安装,配置
查看>>
linux_ramdisk妙用
查看>>
project manage_maven_android
查看>>
Foreign Language_english_补语
查看>>
Foreign Language_english_感叹句
查看>>
Foreign Language_english_限定词
查看>>
Foreign Language_english_人称代词&数词
查看>>
Foreign Language_english_从句
查看>>
Foreign Language_english_副词和形容词区别
查看>>
Foreign Language_english_语法分析_1
查看>>
Machine Learning_mahout_20news_caution
查看>>
R_bioinfomatics_heatmap
查看>>
8086_proteus_masm配置
查看>>
8086_proteus_all_dsn
查看>>
Other_2015 规划
查看>>