ICode9

精准搜索请尝试: 精确搜索
首页 > 编程语言> 文章详细

Rust编程基础知识

2022-08-21 12:00:08  阅读:247  来源: 互联网

标签:编程 crate 基础知识 标准 模块 使用 prelude 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

本站声明: 1. iCode9 技术分享网(下文简称本站)提供的所有内容,仅供技术学习、探讨和分享;
2. 关于本站的所有留言、评论、转载及引用,纯属内容发起人的个人观点,与本站观点和立场无关;
3. 关于本站的所有言论和文字,纯属内容发起人的个人观点,与本站观点和立场无关;
4. 本站文章均是网友提供,不完全保证技术分享内容的完整性、准确性、时效性、风险性和版权归属;如您发现该文章侵犯了您的权益,可联系我们第一时间进行删除;
5. 本站为非盈利性的个人网站,所有内容不会用来进行牟利,也不会利用任何形式的广告来间接获益,纯粹是为了广大技术爱好者提供技术内容和技术思想的分享性交流网站。

专注分享技术,共同学习,共同进步。侵权联系[81616952@qq.com]

Copyright (C)ICode9.com, All Rights Reserved.

ICode9版权所有