本文共 1151 字,大约阅读时间需要 3 分钟。
点击上方蓝色“Golang来啦”关注我哟
加个“星标”,天天 15 分钟,一起学 Go
你好哇,公号正在举行答题送书的活动,具体详情请看《
一起来看下
1.关于 channel 下面描述正确的是?
A. close() 可以用于只接收通道;
B. 单向通道可以转换为双向通道;
C. 不能在单向通道上做逆向操作(例如:只发送通道用于接收);
参考答案及解析:C。
2.下面的代码有什么问题?
1type T struct { 2 n int 3} 4 5func getT() T { 6 return T{} 7} 8 9func main() {10 getT().n = 111}
参考答案及解析:编译错误:
1cannot assign to getT().n
直接返回的 T{} 无法寻址,不可直接赋值。
修复代码:
1type T struct { 2 n int 3} 4 5func getT() T { 6 return T{} 7} 8 9func main() {10 t := getT()11 p := &t.n // <=> p = &(t.n)12 *p = 113 fmt.Println(t.n)14}
解析若有不妥之处,欢迎在留言区交流、指正!
看下今天的题目:
1package main 2 3import "fmt" 4 5func main() { 6 s := make([]int, 3, 9) 7 fmt.Println(len(s)) 8 s2 := s[4:8] 9 fmt.Println(len(s2)) 10}
2.下面代码输出什么?
1type N int 2 3func (n N) test(){ 4 fmt.Println(n) 5} 6 7func main() { 8 var n N = 10 9 p := &n1011 n++12 f1 := n.test1314 n++15 f2 := p.test1617 n++18 fmt.Println(n)1920 f1()21 f2()22}
答案以及解析会在下一篇文章中给出,鼓励大家在留言区留下答案,抱团学习,日拱一卒,每天进步一点!
ps:看完文章如果有收获,顺手花 1s 时间帮点下文末右下方的「在看」,感激!
所有学习上的成功,都只依靠两件事 -- 策略和坚持,而坚持本身就是最重要的策略!
推荐阅读:
如果我的文章对你有所帮助,点赞、转发都是一种支持!
转载地址:http://lwfnb.baihongyu.com/