Golang 最初是由 Google 的工程师设计的,于 2009 年向公众推出。它的创建是为 C++提供替代方案,该替代方案易于学习和编码,并且经过优化可在多核 CPU 上运行。
从那时起,Golang 对于希望利用该语言提供的并发性的开发人员来说非常有用。该语言提供了 goroutine,使您可以将函数作为 goroutine 运行。
Golang 的一大优势是您可以轻松使用 goroutines。只需将go添加到函数前即可使其作为 goroutine 运行。Golang 的并发模型允许您跨多个 CPU 内核部署工作负载,从而使其成为一种非常有效的语言。
package main import ( "fmt" "time" ) func f(from string) { for i := 0; i < 3; i++ { fmt.Println(from, ":", i) } } func main() { f("direct") go f("goroutine") time.Sleep(time.Second) fmt.Println("done") }尽管有多核 CPU 支持,Rust 仍然跑赢 Golang。Rust 在执行算法和资源密集型操作方面效率更高。该基准测试游戏[2]比较了 rust 和 golang 的不同算法,如二叉树。对于所有经过测试的算法,Rust 至少快 30%;在二叉树计算的情况下,最高可达 1,000%。Bitbucket 的[3]一项研究表明,Rust 与 C++的性能相似。