前段时间在导出商家结余表时,发现有些大商家数据比较多,而一直使用的PHP导数脚本是同步脚本,未改为多进程导数,导出效果特别差强人意,有一些甚至等待一天才勉强收到邮件通知。刚好这段时间公司项目上没有什么新需求要做,项目处于维护期和日常工作期,鉴于Go语言的异步优势,就用Go重写了该脚本。一来将Go的学习用于实际场景编写,巩固和运用;二来也比较一下动态语言和静态语言的思维方式和执行效率。
开始编写时,确实遇到很多难处。一开始想到的,是如何做数据库连接,幸好Go对这些常见的场景都有现成的库可使用,稍微在GitHub上搜索就能有好的选择。然后是对数据类型的描述上,确实跟动态语言有明显的不同,但是无法否认,静态语言在编写和编译期间就能减少很多低级的Bug。
也发现了一些公司的服务问题,比如邮件服务器总是x.509证书问题而无法使用,网易163也存在这样的问题,但是QQ邮箱可以正常使用。官方库中已经提供了CSV格式的支持,使用起来相当的方便,就不提供excel方式了。