当你决定暂时不要花掉自己钱包中正在日益增加的货币财产时,你也许更感兴趣将它们放到“更有价值的领域”来产生额外收益:通过牺牲现在享用这些资产换取物品或者服务的能力,你希望将来能够于此获得更多额外的收益,这样的行为被称为投资。金融市场可以使个人的现实消费与现实收入相分离。
2020年7月中旬我们又经历了国内股票市场的一次剧烈波动。有钱没处花的我自寻渠道投入了国内 A 股市场的怀抱,正式成为了一颗新鲜的韭菜。
代码如诗
当你决定暂时不要花掉自己钱包中正在日益增加的货币财产时,你也许更感兴趣将它们放到“更有价值的领域”来产生额外收益:通过牺牲现在享用这些资产换取物品或者服务的能力,你希望将来能够于此获得更多额外的收益,这样的行为被称为投资。金融市场可以使个人的现实消费与现实收入相分离。
2020年7月中旬我们又经历了国内股票市场的一次剧烈波动。有钱没处花的我自寻渠道投入了国内 A 股市场的怀抱,正式成为了一颗新鲜的韭菜。
学习 Go 语言之前,我认为为程序员提供错误与异常处理的最方便的语言是 Python;学习 Go 语言之后,我的看法没有任何改变……
@DGideas
本文参考了 @ethancai 的这篇文章和 @davecheney 在 Gocon Spring 2016 上的这篇演讲稿,以及若干位于 golang.org 上的博客文章和文档。
Go 语言有着异于其他程序设计语言的错误处理体验。要说 Go 程序设计语言的一大特色,恐怕就是它频繁出现的 if err != nil
语句块了。得益于 Go 语言函数的多返回值(multiple results)特性,一个不一定总能成功执行的函数可以依靠一个类型为 error
的返回值表示其执行过程是否处于异常状态,例如:
f, err := os.Open("filename.ext")
if err != nil {
log.Fatal(err)
}
……显然,我们能通过名字使用对象。然而在 C++ 中,大多数对象都“有身份”;也就是说对象位于内存的某个地址中,如果我们知道对象的地址和类型,就能访问它……
翻译自 Bjarne Stroustrup 《The C++ Programming Language》(Fourth Edition),Chapter 7.
@Lollipop9z(失效链接) 同学在上次与我讨论时提出了这个很有趣的问题。由于 lollipop 之前有学习 Python 程序设计语言的背景,所以对于 C++ 等语言中为何提供这些特性感到困惑。事实上,很多学习过包含指针和/或引用概念程序设计语言的同学也仍然对于为什么会存在这些语言元素的原因缺乏思考。下述代码以 C++ 为例。
我最早开设个人博客的经历要追溯到 2009 年,记得当时第九驿站提供了免费的个人空间服务。对于刚上初中的我来说,虽然网站空间位于美国,并且走的是(现在看起来)速度极其慢的线路。但当时在本地写好网页文件,然后再用 FTP 客户端将网页文件拖放到服务器上的有趣体验仍然让我难忘。
时光飞逝,如今对于已经从大学科班毕业的我来说,经历了多年的计算机科学与技术方面的学习,以及在行业中摸爬滚打的经历,总算开始有一种从“接收知识”到“向别人输出知识”的冲动。就读大学期间产生的些许零碎想法,也终于在这几年的反思总结中形成体系,能够以高质量且系统化的方式向大家分享。
一直有很多同学通过各种渠道(面基、邮件、Telegram 等)跟我进行互相交流。在和这么多同学进行高质量的交流后,我发现个人力量毕竟有限,面对面的沟通终究只能帮助到少数人。得益于互联网,我愿意把自己对于知识的思考、想法、创造以及生活的点滴通过个人独立博客的形式分享给更多人。
个人力量终究有限,就像没有系统能够 100% 正确工作一样,尤其对于技术类的文章,我的行文中肯定会出现不准确甚至错误的情况。如遇问题,希望大家通过博客最下方提供的各种联系渠道和我讨论,感激不尽。
王万霖(@DGideas),2020 年 5 月 4 日
2023 年 9 月更新