[rust整理笔记]rust基本语法-02

版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/BaiHuaXiu123/article/details/88068680

1.变量/常量定义
1.1 不可变变量

let  a = 5;  是一个不可变的变量,如果改变a的值,编译器则会报错;

1.2 可变变量定义

let mut a = 10;
a = 100

1.3 指定类型的变量

let a: i16 = 20
注意:
i:表示有符号整型,i8,i16,i32,i64;
u:表示无符号整型,u8,u16,u32,u64;

1.4 变量在使用前要进行初始化,否则会报错

let a:64;
print!("{}",a);//报错,a未初始化;

1.5 一个变量可以重复进行申明

let a = 20;
print!("{}",a);
let a = "hello,world";
print!("{}",a);
注意:定义了,一定要使用,否则会报错。

1.6 可以把一个变量赋值给一个常量

let mut a = 12;
let b = a;  

2 数据类型
rust是静态类型语言,也就是说在编译时就必须知道所有变量的类型。主要有以下类型:
2.1 标量类型
1)整型

整型分为:有符号整型,和无符号整型
有符号整型:i8,i16,i32,i64
无符号整型:u8,u16,u32,u64
let a = 12;
let b: i8 = 128;// 溢出,i8取值范围()-128--127
let c: u8 = 256;//溢出

2)浮点型
ust 的浮点数类型是 f32 和 f64,分别占 32 位和 64 位。默认类型是 f64,因为在现代 CPU 中,它与 f32 速度几乎一样,不过精度更高。

let f = 12.5;
let f:f32 = 23.0;
浮点数采用 IEEE-754 标准表示。f32 是单精度浮点数,f64 是双精度浮点数。

数值运算

// 加法
let s= 59 + 10;
 // 减法
let d = 5.5 - 4.3;
 // 乘法
let p = 4 * 37;
// 除法
let q = 56.87 / 32.2;
// 取余
let r = 4389 % 5;

3)布尔类型

let b = false;
let b:bool = true;

4)字符类型

let a = 'c';
let b:char = 'g';

5) 字符串
Rust 的核心语言中事实上就只有一种字符串类型:str,字符串 slice,它通常以被借用的形式出现,&str。

字符串常量
const LANGUAGE: &'static str = "Rust";

字符串字面值
let language = "Rust";

// 转换到一个字符串
let s = language.to_string();

字符串类型
String 类型是由标准库提供的,它是可增长的、可变的、有所有权的、UTF-8 编码的字符串类型。

let language = String::from("Rust");
遍历字符串
for c in "hello,world".chars() {
    println!("{}", c);
}

字符串 slice
使用 [] 和一个 range 来创建包含特定字节的字符串 slice:
let hello = "Зeeeeeeevdfbgth";
let s = &hello[0..4];

2.2 复合类型
1)元组(tuple
元组的定义

let tup: (i32, f64, u8) = (500, 6.4, 1);
 let tup = (500, 6.4, 1);

元组的访问
访问通过点(.)进行访问元素

 let tup = (500, 6.4, 1);
 let a = tup.0;//500
 let a = tup.2;//1
 let a = tup.3;/错误

 解构进行解析
 let {x,y,z} = tup//x = 500,y = 6.4,z = 1

2) 数组(array)
数组的定义

let a = [1, 2, 3, 4, 5];
let a: [i32; 5] = [1, 2, 3, 4, 5];

数组的访问

let a = [1, 2, 3, 4, 5];
 let first = a[0];
 let second = a[1];

数组的遍历

    let a = [1,2,3,4,5];
    let b = [0;20];
    for x in a.iter(){
        println!("{}",x);
    }
    for x in b.iter(){
        println!("{}",x)
    }

数组的方法

1。获取数组长度
let a = [1,2,3,4,5];
let len = a.len();
2. 数组的切片
    let a = [1,2,3,4,5];
    let b = &a[2..4];
    println!("{}",b[0]);//3

猜你喜欢

转载自blog.csdn.net/BaiHuaXiu123/article/details/88068680