将探讨函数、变量和最基本的类型等基本知识。
变量使用let关键字来声明。
在赋值时,Rust能够在99%的情况下推断变量类型。如果不能,也可以将类型添加到变量声明中。
注意 如果多次分配相同的变量名的方式,这被称为变量隐藏。可以更改变量类型以实现对该变量名的后续使用。
变量名总是遵循蛇形命名法
let x = 13;
println!("{}", x);
let x: f64 = 3.14159;
println!("{}",x);
let x;
x = 0;
println!("{}", x);
Rust非常关心那些变量时可修改的,值分为两种类型:
可变的 - 编译器允许对变量进行读取和写入
不可变的- 编译器只允许对变量进行读取。
可变值用mut 关键字表示
1 let mut x = 42;
2 println!("{}", x);
3 x = 13;
4 println!("{}", x);
Rust有多种常见的类型:
布尔类型-bool 表示true或false
无符号整型- u8, u32, u64, u128表示正整数
有符号整型- i8, i32, i64, i128表示正负整数
指针大小的整数- usize, isize 表示内存中内容的索引和大小
浮点数- f32 f64
元组 tuple - (value, value, …) 用于在栈上传递固定序列的值
数组- 在编译时已知的具有固定长度的相同元素的集合
切片 slice 在运行时已知长度的相同元素的集合
Str (string slice) - 在运行时已知长度的文本
可以通过将类型附加到数字的末尾来明确指定数字类型(13u32, 2u8)
1 let x = 12;
2 let a = 12u8;
3 let b = 4.3;
4 let c = 4.3f32;
5 let bv = true;
6 let t = (13, false);
7 let sentence = "hello world!";
8 println!("{} {} {} {} {} {} {} {}",
9 x, a, b, c, bv, t.0, t.1, sentence
10 );
as 关键字,Rust使数字类型转换非常容易
let a = 13u8;
let b = 7u32;
let c = a as u32 + b;
println!("{}", c);
let t = true;
println!("{}", t as u8);
常量允许我们高效地指定一个在代码中会被多次使用的公共值。不会象变量一样在使用的时候会被复制值,常量会在编译期间直接用它们的值来替换文本标识符
不同于变量,常量必须始终具有显式类型。
常量名总是遵循全大写蛇形命名法。
1 const PI: f32 = 3.14158;
数组是所有相同类型数据元素的固定长度集合。
一个数组的数据类型是[T; N], 其中T是元素的类型,N是编译时已知的固定长度。
可以使用 [x]运算符检索单个元素,其中x是所需元素的usize索引。
1 let nums: [i32; 3] = [1, 2, 3];
2 println!("{:?}", nums);
3 println!("{}", nums[1]);
函数有0个或者多个参数。
函数名总是遵循蛇形命名法。
1 fn add(x: i32, y: i32) -> i32 {
2 x + y
3 }
函数可以通过元组来返回多个值。
元组元素可以通过它们的索引来获取。
1 fn swap(x: i23, y: i32) -> (i32, i32) {
2 (y, x)
3 }
4
5 let result = swap(123, 321);
6 println!("{} {}"m result.0, result.1);
手机扫一扫
移动阅读更方便
你可能感兴趣的文章