Go 面试每天一篇(第 69 天)

Go 面试每天一篇(第 69 天),第1张

概述 你好哇,公号正在举行答题送书活动,详情请看《自律改变自我,部落第①期答题送书!》,今天是活动第15天,答题继续!一起来看下昨天题目的解析:1.下面代码有什么问题吗?1func main()  {23    for i:=0;i<10 ;i++  {4    loop:5        println(i)6    }7 

 

你好哇,公号正在举行答题送书活动,详情请看《自律改变自我,部落第 ① 期答题送书!》,今天是活动第 15 天,答题继续!

一起来看下昨天题目的解析:

1.下面代码有什么问题吗?

1func main()  {
2
3    for i:=0;i<10 ;i++  {
4    loop:
5        println(i)
6    }
7    goto loop
8}

参考答案及解析:goto 不能跳转到其他函数或者内层代码。编译报错:

1goto loop jumps into block starting at

2.下面代码输出什么,请说明。

 1func main() {
2    x := []int{0, 1, 2}
3    y := [3]*int{}
4    for i, v := range x {
5        defer func() {
6            print(v)
7        }()
8        y[i] = &v
9    }
10    print(*y[0], *y[1], *y[2])
11}

参考答案及解析:22222。知识点:defer()、for-range。for-range 虽然使用的是 :=,但是 v 不会重新声明,可以打印 v 的地址验证下。

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

看下今天的题目:
1.关于 slice 或 map *** 作,下面正确的是?

A

1var s []int
2s = append(s,1)

B

1var m map[string]int
2m["one"] = 1 

C

1var s []int
2s = make([]int, 0)
3s = append(s,1)

D

1var m map[string]int
2m = make(map[string]int)
3m["one"] = 1 

2.下面代码输出什么?

 1func test(x int) (func(), func()) {
2    return func() {
3        println(x)
4        x += 10
5    }, func() {
6        println(x)
7    }
8}
9
10func main() {
11    a, b := test(100)
12    a()
13    b()
14}

 

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

 

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

 

推荐阅读:

不一样的成功启示录

 

 

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

总结

以上是内存溢出为你收集整理的Go 面试每天一篇(第 69 天)全部内容,希望文章能够帮你解决Go 面试每天一篇(第 69 天)所遇到的程序开发问题。

如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。

欢迎分享,转载请注明来源:内存溢出

原文地址:https://54852.com/langs/1211916.html

(0)
打赏 微信扫一扫微信扫一扫 支付宝扫一扫支付宝扫一扫
上一篇 2022-06-04
下一篇2022-06-04

发表评论

登录后才能评论

评论列表(0条)

    保存