Rust 相比 Go 的优势:
Rust 可以做内联汇编,Go 不行(Rust 的 SIMD 库也在开发中,这种事情你不会用 Go 做)
Rust 有确定性析构,Go 没有,只能 whole-world-stop 做 GC
Rust 的接口(trait)可以静态派发,做 zero-cost abstraction,Go 不行,它的 interface 只能靠反射做动态派发
Rust 没有运行时,可以写操作系统(我估计至少需要几百行汇编做 bootstrap),Go 离这种能力很远
Rust 有一个更丰富的类型系统,表达能力更强,允许你做更高层次的抽象,写出泛用的库,这个是 Go 不具备的
Rust 有更强的语义,更容易捕获错误的逻辑,编译器直接检查出你代码中的不安全的部分
Rust 的适用领域比 Go 更广
Rust 社区更愿意改变,Go 社区喜欢坚持他们不需要泛型
Rust 有一个活跃的开发社区,如果你发觉有东西需要做出改变,不管是文档、编程思想、语言设计、bug fix 等等,社区欢迎你提出来一起讨论,并且没有问题的建议经常能被快速接受,不管你以后工作中会不会频繁用到 Rust,与 Rust 一起成长总会是一段有趣的体验;相比之下 Go 算是大公司病,人们不那么对提出改进的建议做出积极响应。我自己也曾经为 Go 感到兴奋,在那半年中我却没有读过 Go 的源码;然而在 Rust 这活跃的社区的促进下我也读过一些源码了,如果你对代码的组织方式等源码相关的问题有疑惑欢迎与我讨论。