Rust编程基础知识
作者:互联网
1.一般Rust源代码的后缀名是使用.rs表示。源码一定要注意使用utf-8编码。
2.代码注释用//,一般用//注释单行,也就是行注释,块注释使用/*和*/包围。
3.fn是一个关键字(key word),函数定义必须以这个关键字开头。函数体使用大括号{}来包含。fn关键字是单词function的缩写。
4.默认情况下,main函数是可执行程序的入口点,它是一个无参数,无返回值的函数。如果我们要定义的函数有参数和返回值,可以使用以下语法:
//参数列表使用逗号分开,冒号后面是类型,返回值类型使用->符号分隔 fn Foo(input1:i32,input2:u32) -> i32 { }
5.局部变量声明使用let关键字开头,用双引号包含起来的部分是字符串常量。Rust是静态强类型语言,所有的变量都有严格的编译期语法检查。
let s = "Hello Rust!";
6.每条语句使用分号结尾。语句块使用大括号。空格、换行和缩进不是语法规则的一部分。
7.标准输出是使用println!宏来完成。println后面的感叹号,它代表这是一个宏,而不是一个函数。可以把它理解为一种安全版的编译期语法扩展,和c/c++中的宏安全不是一个东西。Rust只所以使用宏,而不是函数,是因为标准输出宏可以完成编译期格式检查,更加安全。
Prelude
prelude 是 Rust 自动导入每个 Rust 程序的内容的列表。
Rust的代码从逻辑上是分crate和mod管理的。所谓的crate可以理解为“项目”。每个crate是一个完整的编译单元,它可以生成一个lib或者exe可执行文件。而在crate内部,则是由mod这个概念管理的,所谓mod可以理解为namespace。我们可以使用use语句把其他模块中的内容引入到当前模块中来。
Rust有一个极简标准库,叫做std,除了极少数嵌入式系统下无法使用标准库之外,绝大部分情况下,我们都需要用到标准库里面的东西。为了给大家减少麻烦,Rust编译器对标准库有特殊处理。默认情况下,用户不需要手动添加对标准库的依赖,编译器会自动引入对标准库的依赖。除此之外,标准库中的某些type,trait,function,macro等实在是太常用了。每次都写use语句确实非常无聊,因此标准库提供了一个std::prelude模块,在这个模块中导出了一些最常见的类型,trait等东西,编译器会为用户写的每个crate自动插入一句话:
use std::prelude::v1::*;
这样,标准库里面的这些最重要的类型,trait等名字就可以直接使用,而无须每次都写全称或者use语句。
prelude模块的源码在src/libstd/prelude/文件夹下。我们可以看到,目前的mod.rs中,直接导出了v1模块中的内容,而v1.rs中,则是编译器为我们自动导入的相关trait类型.
标签:编程,crate,基础知识,标准,模块,使用,prelude,Rust 来源: https://www.cnblogs.com/hdhx-lh/p/16609739.html