0%

本文是「从 C++ 到 Go」系列的第四篇,承接上一篇对并发模型与错误处理的讨论,进入 Go 项目的工程化领域——包管理与测试。对于 C++ 程序员来说,这两部分的体验差异可能是整个系列中最令人愉悦的:C++ 的构建系统和测试框架需要大量外部工具的配合,而 Go 把这一切内置了。

阅读全文 »

本文是「从 C++ 到 Go」系列的第三篇,承接上一篇对集合、结构体与接口的讨论,进入 Go 最有特色的两个领域——并发模型与错误处理。对于 C++ 程序员来说,这两部分恰好是思维转换最大的地方:并发从「手动管理线程和锁」变成「goroutine + channel」,错误处理从「异常冒泡」变成「错误即返回值」。

阅读全文 »

本文是「从 C++ 到 Go」系列的第二篇,承接上一篇对基础语法、类型系统和函数的讨论,继续深入 Go 的核心数据结构(数组、切片、Map)、结构体与方法、以及接口机制。对于 C++ 程序员来说,这三部分恰好覆盖了 Go 与 C++ 差异最集中的区域——从 std::vector 到切片、从类继承到组合与接口。

阅读全文 »

对于有 C++ 经验的程序员来说,学习 Go 是一次有趣的体验。Go 在许多设计上与 C++ 有着相似的底层思路,但又在语法和哲学上做出了截然不同的取舍。本文是我学习 Go 的实践笔记,以代码为主线,穿插与 C++ 的对比,力求在「知其然」的同时也「知其所以然」。

阅读全文 »