跟着谷歌学习Rust:第一课-Rust介绍

33 阅读2分钟

什么是Rust?

Rust是由Mozilla主导开发的通用、编译型编程语言。 设计准则为“安全、并发、实用”,支持函数式、并发式、过程式以及面向对象的编程风格。《以上解释来自维基百科》

从以上的百科可以知道Rust最为注重的就是安全。

作为一个Java的开发,最头疼的莫过于生产出现空指针问题,可能就是代码中一个不注意又或者自己写的方法不会传空对象,但是被其他人用了。

出现这种问题后总想Java开发团队为什么就不能在编译期间就扫描出来是否有空指针问题,然后就提醒开发者呢?对于这个问题可能学习Rust生命周期的时候就想通了为什么Java不能做到

写一个Hello World

学习一门语言从写一段Hello World开始。

fn main() {
	println!("Hello World Rust");
}

一段Hello World虽然简单但是也能发现这个语言的很多特点(我也是偶然看到Rust的hello world的代码才决定学习它,因为和Java太像了)。

  • 函数的定义:fn是function的缩写,代表这是一个函数
  • 方法名的定义:方法名和Java语言的区别在于不是以驼峰规则命名,而是使用下划线。
  • 控制台输出:println基本所有的语言都会使用这个单词做输出。Rust的区别在于最后多了一个叹号,这个叹号在Rust中叫做宏。这个后面再说
  • main函数:main函数作为程序的入口,类似Java的main函数

Rust可以干什么?

既然Rust是面向对象的语言,那么基本上其他语言能干的它都可以干,Web应用、网络服务器、嵌入式等。

Rust的优点

  • 编译期间内存安全编译期间可以发现内存安全的一些问题
  • 没有空指针异常
  • 没有互斥锁的死锁问题
  • 没有线程之间的数据竞争
  • 能够发现数组下标越界问题
  • 整型溢出的定义
  • 具备现代高级语言的特征(枚举、模式匹配、泛型、抽象)

参考

google.github.io/comprehensi…