分享
  1. 首页
  2. 文章

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

Golang来啦 · · 3832 次点击 · · 开始浏览
这是一个创建于 的文章,其中的信息可能已经有所发展或是发生改变。

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

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

从昨天的答题留言来看,@十二 同学三道题目都答对了,特别棒!鼓励其他同学参与答题,加油!

公布下昨天题目的答案,题目见昨天的文章
1.
参考答案及解析:不能通过编译,new([]int) 之后的 list 是一个 *[]int 类型的指针,不能对指针执行 append 操作。可以使用 make() 初始化之后再用。同样的,map 和 channel 建议使用 make() 或字面量的方式初始化,不要用 new() 。

2.
参考答案及解析:不能通过编译。append() 的第二个参数不能直接使用 slice,需使用 ... 操作符,将一个切片追加到另一个切片上:append(s1,s2...)。或者直接跟上元素,形如:append(s1,1,2,3)。

关于 slice 的用法可以看下文末的推荐阅读。

3.
参考答案及解析:不能通过编译。这道题的主要知识点是变量声明的简短模式,形如:x := 100。但这种声明方式有限制:

  1. 必须使用显示初始化;

  2. 不能提供数据类型,编译器会自动推导;

  3. 只能在函数内部使用简短模式;

欢迎在留言区补充!

今天只有一题,来看下:
1.下面这段代码能否通过编译?不能的话,原因是什么?如果通过,输出什么?

 1func main() {
2 sn1 := struct {
3 age int
4 name string
5 }{age: 11, name: "qq"}
6 sn2 := struct {
7 age int
8 name string
9 }{age: 11, name: "qq"}
10
11 if sn1 == sn2 {
12 fmt.Println("sn1 == sn2")
13 }
14
15 sm1 := struct {
16 age int
17 m map[string]string
18 }{age: 11, m: map[string]string{"a": "1"}}
19 sm2 := struct {
20 age int
21 m map[string]string
22 }{age: 11, m: map[string]string{"a": "1"}}
23
24 if sm1 == sm2 {
25 fmt.Println("sm1 == sm2")
26 }
27}

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

ps:对大部分人来说,初学一门新的语言,不管是Java、Python 还是 Go,初始阶段最大的困惑可能就是不知道从何处下手。之前就在思考这个问题,所以打算从面试题入手,由点及面去学,进而对 Go 能有一个很好的掌握,就有了这一系列面试题文章,虽然才刚开始,但我有信心做下去并且做好!一件利他利己的事儿,提升自己的同时也希望可以帮助更多的人!

pps:如果觉得这种方式不错且文章对你有一点帮助,帮忙花 1s 时间点下文末右下角的「在看」,感激,一点小私心。


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



推荐阅读:

非懂不可的Slice(一)

非懂不可的Slice(二)


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


给个[在看],是对四哥最大的支持

有疑问加站长微信联系(非本文作者)

本文来自:微信公众平台

感谢作者:Golang来啦

查看原文:Go 面试每天一篇(第 5 天)

入群交流(和以上内容无关):加入Go大咖交流群,或添加微信:liuxiaoyan-s 备注:入群;或加QQ群:692541889

关注微信
3832 次点击 ∙ 1 赞
被以下专栏收入,发现更多相似内容
1 回复 | 直到 2024年03月07日 22:33:56
暂无回复
添加一条新回复 (您需要 后才能回复 没有账号 ?)
  • 请尽量让自己的回复能够对别人有帮助
  • 支持 Markdown 格式, **粗体**、~~删除线~~、`单行代码`
  • 支持 @ 本站用户;支持表情(输入 : 提示),见 Emoji cheat sheet
  • 图片支持拖拽、截图粘贴等方式上传

用户登录

没有账号?注册
(追記) (追記ここまで)

今日阅读排行

    加载中
(追記) (追記ここまで)

一周阅读排行

    加载中

关注我

  • 扫码关注领全套学习资料 关注微信公众号
  • 加入 QQ 群:
    • 192706294(已满)
    • 731990104(已满)
    • 798786647(已满)
    • 729884609(已满)
    • 977810755(已满)
    • 815126783(已满)
    • 812540095(已满)
    • 1006366459(已满)
    • 692541889

  • 关注微信公众号
  • 加入微信群:liuxiaoyan-s,备注入群
  • 也欢迎加入知识星球 Go粉丝们(免费)

给该专栏投稿 写篇新文章

每篇文章有总共有 5 次投稿机会

收入到我管理的专栏 新建专栏