Go语言核心36讲
郝林
《Go并发编程实战》作者,前轻松筹大数据负责人
立即订阅
24139 人已学习
课程目录
已完结 54 讲
0/4登录后,你可以任选4讲全文学习。
开篇词+学习路线 (3讲)
开篇词 | 跟着学,你也能成为Go语言高手
免费
预习篇 | 写给0基础入门的Go语言学习者
50 | 学习专栏的正确姿势
模块一:Go语言基础知识 (6讲)
01 | 工作区和GOPATH
02 | 命令源码文件
03 | 库源码文件
04 | 程序实体的那些事儿(上)
05 | 程序实体的那些事儿(中)
06 | 程序实体的那些事儿 (下)
模块二:Go语言进阶技术 (16讲)
07 | 数组和切片
08 | container包中的那些容器
09 | 字典的操作和约束
10 | 通道的基本操作
11 | 通道的高级玩法
12 | 使用函数的正确姿势
13 | 结构体及其方法的使用法门
14 | 接口类型的合理运用
15 | 关于指针的有限操作
16 | go语句及其执行规则(上)
17 | go语句及其执行规则(下)
18 | if语句、for语句和switch语句
19 | 错误处理(上)
20 | 错误处理 (下)
21 | panic函数、recover函数以及defer语句 (上)
22 | panic函数、recover函数以及defer语句(下)
模块三:Go语言实战与应用 (27讲)
23 | 测试的基本规则和流程 (上)
24 | 测试的基本规则和流程(下)
25 | 更多的测试手法
26 | sync.Mutex与sync.RWMutex
27 | 条件变量sync.Cond (上)
28 | 条件变量sync.Cond (下)
29 | 原子操作(上)
30 | 原子操作(下)
31 | sync.WaitGroup和sync.Once
32 | context.Context类型
33 | 临时对象池sync.Pool
34 | 并发安全字典sync.Map (上)
35 | 并发安全字典sync.Map (下)
36 | unicode与字符编码
37 | strings包与字符串操作
38 | bytes包与字节串操作(上)
39 | bytes包与字节串操作(下)
40 | io包中的接口和工具 (上)
41 | io包中的接口和工具 (下)
42 | bufio包中的数据类型 (上)
43 | bufio包中的数据类型(下)
44 | 使用os包中的API (上)
45 | 使用os包中的API (下)
46 | 访问网络服务
47 | 基于HTTP协议的网络服务
48 | 程序性能分析基础(上)
49 | 程序性能分析基础(下)
尾声与思考题答案 (2讲)
尾声 | 愿你披荆斩棘,所向无敌
新年彩蛋 | 完整版思考题答案
Go语言核心36讲
登录|注册

新年彩蛋 | 完整版思考题答案

郝林 2019-02-02
你好,我是郝林。
在 2019 年的春节来临之际,我恰好也更新完了专栏所有的配图和思考题答案。希望这些可以帮助到你,在新的一年中,祝你新年快乐,Go 语言学习之路更加顺利。

基础概念篇

1. Go 语言在多个工作区中查找依赖包的时候是以怎样的顺序进行的?

答:你设置的环境变量GOPATH的值决定了这个顺序。如果你在GOPATH中设置了多个工作区,那么这种查找会以从左到右的顺序在这些工作区中进行。
你可以通过试验来确定这个问题的答案。例如:先在一个源码文件中导入一个在你的机器上并不存在的代码包,然后编译这个代码文件。最后,将输出的编译错误信息与GOPATH的值进行对比。

2. 如果在多个工作区中都存在导入路径相同的代码包会产生冲突吗?

答:不会产生冲突。因为代码包的查找是按照已给定的顺序逐一地在多个工作区中进行的。

3. 默认情况下,我们可以让命令源码文件接受哪些类型的参数值?

答:这个问题通过查看flag代码包的文档就可以回答了。概括来讲,有布尔类型、整数类型、浮点数类型、字符串类型,以及time.Duration类型。

4. 我们可以把自定义的数据类型作为参数值的类型吗?如果可以,怎样做?

答:狭义上讲是不可以的,但是广义上讲是可以的。这需要一些定制化的工作,并且被给定的参数值只能是序列化的。具体可参见flag代码包文档中的例子。
取消
完成
0/1000字
划线
笔记
复制
© 版权归极客邦科技所有,未经许可不得传播售卖。 页面已增加防盗追踪,如有侵权极客邦将依法追究其法律责任。
该试读文章来自付费专栏《Go语言核心36讲》,如需阅读全部文章,
请订阅文章所属专栏。
立即订阅
登录 后留言

精选留言(16)

  • ...
    大神 发现一篇文章go的陷阱,
    http://ju.outofmemory.cn/entry/351623
    描述了很多对go不满的地方和陷阱,我想知道对于开发者在大型项目中如何避免或者进入陷阱以及如何排查。或者有什么规范要求

    作者回复: 大部分所谓的陷阱或者坑,都是由于不了解语言机理而犯的错误。使用编程语言B的理念和哲学去理解编程语言A必然会出问题。

    2019-02-18
    7
  • 冯小贤
    感谢老师
    2019-04-02
    2
  • 阿海
    谢谢郝老师的新年彩蛋,祝郝老师和大家新年快乐,心想事成
    2019-02-03
    2
  • 傻乐
    今天才真正看完,从开课到现在,有点滞后太多,因为我是个数据方向的,学完收益真高,现在所有的数据深层次的bug都可以结合编程思想定位解决,还可以自己写想要的工具,谢谢

    作者回复: 赞👍!

    2019-04-30
    1
  • Kyle Liu
    非常感谢老师,3个月前对go一知半解的情况下看老师的文章只是走个流程很模糊。现在对go有了一个整体的认知再看老师的文章,非常受用也解决了工作中许多疑惑。
    2019-03-03
    1
  • 小勇
    老师:刚刚学习完课程,还是个新手,目前工作中还没有用golang,怕忘了,自己练手写了个简单的不用反射的orm,希望老师能给些意见,实际工作中可不可以用,https://github.com/chu108/corm.git

    作者回复: 建议现在边缘项目上用,但是必须要用,这样才能发现问题。

    2019-11-14
    1
  • qiushye
    终于看完了,还得多复习复习
    2019-10-23
  • 我只想问一句
    go啥时候能把java干掉

    作者回复: 为什么要干掉?各有各的长处和生态。一门编程语言一般有两种死法。一种死法是慢慢地消失在历史的长河当中(自然死亡),另一种死法是被某个组织扼杀。这些编程语言除非自身存在致命的缺陷,否则肯定不会被竞争对手挤死。你觉得 Java 会以怎样的方式死去?

    2019-07-21
    1
  • Geek_1b0d68
    终于坚持这看完了整个一个专栏,谢谢郝林老师的这个专栏,让我可以对go语言的了解不在浮于表面
    2019-04-12
  • 小强
    感谢老师,通过专栏学到很多,最近工作中需要用go去重构一部分应用,在写代码中发展,以前是基于自己的编程基础去看的本专栏,导致go的很多基础知识没记牢固,在此再定个目标,反复多过几遍,希望能真正的掌握本专栏的内容,而不光是浅层面的理解。

    作者回复: 加油!

    2019-04-08
  • 写点啥呢
    老师有心啊,非常感谢!
    2019-02-14
  • 失了智的沫雨
    新年快乐, 过完年才看到彩蛋,😂
    2019-02-11
  • 言十年
    新年快乐
    2019-02-03
  • 方向
    刚刚打开学习 的 课程,发现多了一讲,原来是 彩蛋,太棒了
    2019-02-02
  • 我来也
    哈哈 还有新年彩蛋!
    老师用心了。
    2019-02-02
  • beiliu
    郝老师,新年快乐,一路走来,受益良多。
    2019-02-02
收起评论
16
返回
顶部