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/

重操堆文这旧业之时间日志分析

写作的习惯,已经断了许久了。上一篇已经是去年的文章了,也是做的[时间日志分析]({% post_url 2019-02-23-time-log-analysis %}) 。 正好做时间总结,也把写作捡起来吧。# 低效时间分析用 [RescueTime](https://www.rescueti...… Continue reading

个人近期时间日志分析

Published on February 23, 2019

问问题的妙用

Published on May 27, 2018