rust-常量
10.常量常量 就是那些值不能被改变的变量。定义后,再也没有任何方法可以改变常量的值。
const:不可改变的值(通常使用这种)。
static:具有 ‘static 生命周期的,可以是可变的变量(须使用 static mut 关键字)。
有个特例就是 “string” 字面量。它可以不经改动就被赋给一个 static 变量,因为它 的类型标记:&’static str 就包含了所要求的生命周期 ‘static。其他的引用类型都 必须特地声明,使之拥有’static 生命周期。
常量定义1const 常量名称:数据类型=值;
使用 const 关键字定义常量。
定义常量时必须指定数据类型。
常量名称的命名规则和之前变量的命名规则一样,但常量名称一般都是 大写字母。
1234fn main() { const PI:f64=3.1415926; println!("{}",PI);//输出 3.1415926}
常量 可以在任意作用域里定义,包括全局作用域。也就是可以在任何地方定义。常量 只是 ...
定义变量
第 9 章 定义变量在计算机里硬件有内存条,当通电以后,会被加载到操作系统中,我们可以认为这是一个大酒店,但是它内部是要有房间的,每个房间都有自己的位置,有自己的名称,这样管理的好处是方便,直接,所以计算机也采用了这样的模式。
声明变量12let 变量名 = 值; // 不指定变量类型let 变量名:数据类型 = 值; // 指定变量类型
变量 就是给 某一块内存地址 起名字。比如: s=内存地址 1、s2=内存地址 2 。
前面说过 变量是有数据类型的,所以 内存存储的数据也是有数据类型的。
变量的命名规范
可以包含 字母、数字 和 下划线 。
变量名必须以 字母 或 下划线 开头。不能以 数字 开头。
变量名是 区分大小 写的。也就是大写的 Study 和小写的 study 是两个不同的变量。
1234567fn main() { let Study = ""; print!("{}",study)}报错如下: print!(&qu ...
字符类型
第 8 章 字符类型
字符(char) ,就是字符串的基本组成部分,也就是单个字符或字。
Rust 使用 UTF-8 作为底层的编码 ,而不是常见的使用 ASCII 作为底层编码。
Rust 中的 字符数据类型 包含了 数字、字母、Unicode 和 其它特殊字符。
12let c = 'R';println!("c {}", c);//输出 c R
添加微信
公众号更多内容
布尔类型
第7章 布尔类型Rust 使用 bool 关键字来声明一个 布尔类型 的变量。布尔类型 取值是 true 或 false 。
12let checked:bool = true;println!("checked {}", checked);//输出 checked true
配置vscode进行rust debug,在.vscode/launch.json中复制如下:
123456789101112131415{ // 使用 IntelliSense 了解相关属性。 // 悬停以查看现有属性的描述。 // 欲了解更多信息,请访问: https://go.microsoft.com/fwlink/?linkid=830387 "version": "0.2.0", "configurations": [ { "type": "lldb", " ...
浮点型
第 6 章 浮点型按照存储大小,把浮点型划分为 f32 和 f64。其中 f64 是默认的浮点类型。
f32 又称为 单精度浮点型。
f64 又称为 双精度浮点型,它是 Rust 默认的浮点类型.
Rust 中不能将 0.0 赋值给任意一个整型,也不能将 0 赋值给任意一个浮点型。
12let price8:f64 = 99;报错:mismatched types [E0308] expected `f64`, found `i32`
1234567let price9 = 18.00; // 默认是 f64let price10:f32 = 8.88;let price11:f64 = 168.125; // 双精度浮点型println!("price9 {}", price9); //输出 price9 18println!("price10 {}", price10);//输出 price10 8.88println!("price11 {}&quo ...
整型
第 5 章 整型最大值 std::u128::MAX,它的值是 340282366920938463463374607431768211455
最小值 std::i128::MIN,它的值是 -170141183460469231731687303715884105728
整数可以分为 有符号整型 和 无符号整型
有符号整型,英文 signed,既可以存储正数,也可以存储负数。
无符号整型,因为 unsigned,只能存储正数。
大小
有符号
无符号
8 bit
i8
u8
16 bit
i16
u16
32 bit
i32
u32
64 bit
i64
u64
128 bit
i128
u128
Arch
isize
usize
按照存储空间来说,整型可以进一步划分为 1字节、2字节、4字节、8字节、16字节。
1 字节 = 8 位,每一位能只能存储二进制 0 或 1,因此每一个字节能够存储的最大数字是 256,而最小数字则是 -127。
整型的长度还可以是 arch。arch 是由 CPU 构架决定的大小的整型类型。大小为 arch ...
数据类型
第 4 章 Rust 的数据类型类型,我们先说一下现实中的菜系吧,鲁菜、川菜、粤菜 、苏菜 、闽菜 、浙菜 、徽菜 、湘菜,都有不同的口味,当说到哪一个体系的菜的时候,你会知道它的特点,并且适合哪些人去吃。
那说回到计算机,数据类型也是一样的,就是存储和运算,并且要检查和保证这个数据在这个类型中是有效的。
Rust 是一个静态的严格数据类型的语言。每个值都有唯一的数据类型,要么是整型,要么是浮点型等等。
Rust 语言在赋值时并不强制要求指定变量的数据类型,Rust 编译器可以根据分配给它的值自动推断变量的数据类型。
声明变量Rust 语言使用 let 关键字来声明和定义一个变量。
1let 变量名=值
先粗略带过变量的声明,后面的章节我们会详细介绍。
123456789fn main(){ let food = "清蒸螃蟹"; // string 字符串类型 let price = 366; // float 类型 let checked = true; // boolean 类型 println!(" ...
hello_rust
第三章 hello_rust第一个 Rust 程序。
先创建一个目录 hello_rust。
可以使用趁手的编辑(jetbrains 系列可以安装 rust 插件,或者是 vscode 的 rust 插件都可以)。
创建 rust 源代码文件,它是用 .rs 作为扩展名的。
在 hello.rs 中,输入
123fn main(){ println!("Hello Rust!")}
fn - Rust 语言使用 fn 关键字定义函数。
main() 函数是一个预定义的主函数,充当 Rust 程序的入口点,每个语言都会有自己的 main() 函数。
println!() 是 Rust 语言中的一个 预定义的宏。它用于将传递给它的参数输出到 标准输出。
注:Rust 语言中的 宏 都会以 感叹号 ( ! ) 结尾。以后看到以 ! 结尾的类似函数调用,都是 宏调用。Rust 提供了一个功能非常强大的 宏 体系,通过这些 宏,我们可以很方便的进行 元编程。Rust 中的 宏 有点类似于 函数。可以将 宏 理解为 函数的加强版。 ...
Rust环境搭建
第 2 章 Rust 环境搭建在 Mac 环境下,利用 brew 包管理,十分方便。
brew upgrade
brew install rustup-init
进入/opt/homebrew/Cellar/rustup-init/1.24.3/bin
运行 rustup-init
123451) Proceed with installation (default) //默认安装2) Customize installation //自定义安装3) Cancel installation //取消安装我选的是第 1 个。
屏幕出现成功字样 Rust is installed now. Great!
最后执行这句,让环境变量生效 source $HOME/.cargo/env
再打开终端
12rustc -V屏幕输出 rustc 1.59.0
出现上面的提示,证明你的 Rust 环境安装好了。
添加微信
公众号更多内容
为什么要使用Rust语言
第 1 章 为什么要使用 Rust 语言?Rust 是一种快速、高并发、安全且具有授权性的编程语言,最初由 Graydon Hoare 于 2006 年创造和发布。现在它是一种开源语言,主要由 Mozilla 团队和许多开源社区成员共同维护和开发。它的目标是 C 和 C++占主导地位的系统编程领域。
Rust 的目标Rust 语言瞄准的是工业系统的霸者 - C++ 语言。
Rust 的优势Rust 是一门编译语言,因此它的效率可以媲美 C 或 C++ 语言。
由于没有 GC(垃圾回收机制),所以是安全度极高的语言。
Rust 可以做什么?
可以使用 Rust 编写操作系统、游戏引擎和许多性能关键型应用程序。
可以使用它构建高性能的 Web 应用程序、网络服务,类型安全的数据库对象关系映射(Object Relational Mapping,ORM)库,还可以将程序编译成 WebAssembly 在 Web 浏览器上运行。
Rust 还在为嵌入式平台构建安全性优先的实时应用程序方面获得了相当大的关注,例如 Arm 基于 Cortex-M 的微控制器,目前该领域主要由 C 语言主导。R ...