Go Functions
极客时间《Go 语言从入门到实践》学习笔记 04
13 | Go 语言的函数
其实每次从留言里面都能看到很不错内容,对于视频课程是一个很好的补充。
就目前来看,这个课程比较适合我这种有一些编程经验,但是对于 Go 语言又完全陌生的人。完全的小白,可能觉得跨度比较大,例如函数式编程;对 Go 语言有所了解的,可能觉得前面的内容比较无趣。
其实有一点好奇,Go 语言对于完全小白的新手来说,究竟算不算友好?
对于那个随机函数,我加上
rand.Seed(time.Now().UnixNano())
之后,输出的仍然是同样的,或者说在一段时间内输出值是一样的,除非稍微修改一下代码,可能是因为缓存的缘故?
找到一本《计算机程序的构造和解释》,其实这本来应该是本科时候应该看的,不知道有没有机会拜读一下。
14 | 可变参数和 defer
可变参数似乎已经是新的编程语言标配了,PHP、Python、Ruby 里面似乎都有
看到一个 defer 小魔术
老师的解释是 defer 延迟执行只是最后一层调用的延迟。
另外留言里面 @Flygar 和 @Eden 的两段代码也值得一看。
15 | 行为的定义和实现
这一节感觉还是有点难度的,老师讲的内容相对比较容易理解,但是看留言里面的一些代码把我又绕进去了。
值接受者声明的方法,调用时使用这个值的副本,指针接受者声明的方法,调用时共享这个值。
这里的值接受者和指针接受者,其实就是在说,函数的参数类型是值或者指针的意思吧。
看了一遍 @Eden 的代码,确实比老师讲的还要清晰,@蓝士钦 最后整理的那段代码也很能说明问题。
感觉老师比较辛苦,回复留言的话,要看好多代码。
版权声明: 本文为 InfoQ 作者【escray】的原创文章。
原文链接:【http://xie.infoq.cn/article/58e3573513cc69fbeae9a86f5】。
本文遵守【CC-BY 4.0】协议,转载请保留原文出处及本版权声明。
评论