简单的介绍一下rust和go的区别。如果有想学习语言的,推荐学rust,它是一门比较新的语言,可以和他一起成长,见证一个语言从出生到完善的一个过程。这也是一个非常难得的机会,大家有空的时候可以专研一下,可以用他将github上的一些开源项目用rust或者go进行重构,增加对这个语言理解的深度。
Rust致力于成为优雅解决高并发和高安全性系统问题的编程语言,非常值得一学,万一用他开发出来了一套国内的操作系统呢(手动滑稽)
功能 | go | rust |
---|---|---|
变量定义 | var | let |
函数定义 | fun | fn |
结构体 | 有 | 有 |
指针 | 有 | 无 |
集合 | map和set | vector、字符串和哈希 map |
切片 | 有 | 有 |
闭包 | 有 | 有 |
类 | 有 | 结构体方法 |
接口 | 有 | trait |
模式匹配 | 有 | 有 |
消息传递 | channel | channel |
线程 | go协程 | spawn |
mutex锁 | 有 | 有 |
c交互 | 有 | 有 |
静态交互 | 有 | 有 |
错误处理 | try | 有 |
函数多返回值 | 有 | 无 |
GC | 有 | 无 |
反射 | 有 | 无 |
堆分配内存 | 自动处理 | 智能指针 |
泛型 | 无 | 有 |
所有权 | 无 | 有 |
生命周期 | 无 | 有 |
Go语言:编程风格像C, 静态编译, 支持并发的高级语言。
Rust语言: 加入现代语言功能, 更安全, 支持并发的C语言。
所以做网络服务选Go, 上手比较简单。做系统用Rust, 它就是未来的系统语言。
网友评论