创建于2023-03-28 09:26
本笔记主要来自于 Rust 程序设计语言 中文版 [1.2],旨在记录个人学习过程中的重点和心得体会。在记录过程中,笔者会对文档中的某些内容进行摘抄或修改,并添加自己的注释或说明。如有不当之处,请指正。
Rust 文件通常是以 .rs
拓展名结尾,与其它语言不同,在 rust 中,使用的是下划线小驼峰的方式作为命名规范(需要注意的是,文件名不能出现特殊字符,例如空格),例如:hello_world
。
首先我需要创建一个文件夹由于存放我的 rust 代码,我就将它创建在用户下的 dev 目录吧,这是我用来存放与开发相关的代码:
mkdir ~/dev/rust/learn
cd ~/dev/rust/learn
目录创建好之后再来一个 hello_world.rs
文件,如何编辑它那就看我们的喜好了,我选择VsCode,你们也可以使用命令行,例如:'vim'
touch ./01print_hello_world.rs
rust 程序的入口文件通常都需要一个 main
函数,在 rust 程序执行的时候都会优先执行它,这和 Java 类似。
fn main() {
println!("hello world!")
}
在我们代码写完之后可以使用 rust 提供的命令来编译它,编译完成后它会生成一个可执行文件,我们执行它的编译产物即可
# clover @ MacBook-Pro in ~/dev/rust/learn [9:34:11]
$ rustc 01print_hello_world.rs
# clover @ MacBook-Pro in ~/dev/rust/learn [9:35:04] C:127
$ ./01print_hello_world
hello world!
程序剖析
在我上面的程序中,定了一个 main
函数它也被称为主函数,任何一个 rust 程序在运行的时候首先会执行它!我定义的这个 main
函数它没有返回值,也没有参数列表,如果存在参数,那么它需要被放在 ()
里面。
另外需要注意一点是,无论是我定义的 main
函数,还是其它函数,函数的主体都需要被放在 {}
里面,这和其他大部分语言是一样的,例如 Java。通常我们把左花括号 {
和参数列表放在同一行,它们之间用一个空格隔开:
fn xxx() { }
rust 很贴心的提供了一个工具 rustfmt
,可以格式化我们的代码风格,他不需要而外安装因为它被集成在 rust 发行版中
# clover @ MacBook-Pro in ~/dev/rust/learn [10:11:33]
$ rustfmt 01print_hello_world.rs
注意点
- Rust 风格的缩进是使用4个空格而不是制表符(tab),这在其它语言基本是一致的,因为制表符可能导致一些工具出现问题。
- 为什么使用
println!()
而不是println()
,因为在 Rust 中,!
意味着调用的是一个宏而不是一个普通函数,println()
不包含!
所以调用的是一个普通函数。宏的内容还需要我更深入的学习才能分享 hello world!
是作为一个字符串参数传递给println!
,接着println!
会将其打印在终端。(好想吐槽,不能用单引号表示一个串字符,双引好难看)- Rust 和 Java 一样,都是需要通过英文分号
;
来表示一行代码的结束,大多数代码结束都是以;
结尾