Go语言学习笔记

Reading time ~1 minute

之前有看过Go Tour ,一知半解的。后来花了两天基本上就能编写Go并完成一些基本工作了。想来Go的入门门槛还是挺低的。其实就差不多看了一本70多页书《An Introduction to Programming in Go》,当天看完第二天就慢慢熟络Go了。

之前很想再好好温习一下C/C++,不过现在有Go就发现没那个必要了。有人说Go是C和Python的结合体,这个我也部分赞同:既有C的高效,又有函数式语言的便捷;并且有C和Python的基础,学起来易如反掌了。直接编译成二进制文件比依赖VM(如Java、C#)或运行环境(如Python)的其他语言啥的都好多了。个人使用起来,有如下几点感受:

  1. 并发的高效和方便性。Goroutine协程的轻量级(保证资源占用尽量的少),加上编程过程中调用的便捷(go关键词后加一个函数调用即可),让Go成为服务端的新秀。Channel作为消息传递,也是并发中通信所必须的。

  2. 整合了不少函数式语言的特性,保留指针以尽量降低内存消耗,默认Unicode支持,Go实现GC(不过也有不好的地方,比如分配超过32K的对象时才会触发GC,如果用完大内存后想释放也比较麻烦),语言简捷(没有复杂的OO,但Struct及Interface已然覆盖所有)

另外使用过程中发现,Go对简单函数,如返回primitive的函数都会编译时自动inline,比Scala总得显式声明的好。

Original post: http://blog.josephjctang.com/2014-09/go/

个人近期时间日志分析

年初总结的时候发现去年相对于往年,读书量是越发的少了。惭悔懊恼之余,不禁分析起自身的因素来。自然是个人时间没有更好地利用起来。自己之前每周都有总结分析,但疏于文字整理,需要改正的方面也就缺乏跟进了。后续也需要渐渐地把行文这个习惯捡起来。结合 RescueTime 记录和 iOS 的 Scree...… Continue reading

问问题的妙用

Published on May 27, 2018

时间管理中的断舍离

Published on May 20, 2018