Rust 学习笔记
注意!
本笔记从 结构体类型 开始。
结构体
类似于类,可以创独立的对象并修改其中的内容(前提:新对象用mut
修饰)
创建不可修改的结构体类型(含初始化)
下面创建的结构体类型中,包含的字段(字段名: 字段名):
- number: i32
- name: String
- lv:i32
struct Class {
number: i32,
name: String,
lv: i32
}
fn main(){
let my_class =Class{
name: String::from("火箭".to_string()),
number: i32::from(10000),
lv: i32::from(10)
};
println!("name:{};number:{};lv:{}",my_class.name,my_class.number,my_class.lv);
}
创建可修改的结构体类型(含初始化)
下面创建的结构体类型中,包含的字段(字段名: 字段名):
- number: i32
- name: String
- lv:i32
struct Class {
number: i32,
name: String,
lv: i32
}
fn main(){
let mut my_class =Class{
name: String::from("火箭".to_string()),
number: i32::from(10000),
lv: i32::from(10)
};
my_class.lv += 10;
println!("name:{};number:{};lv:{}",my_class.name,my_class.number,my_class.lv);
}
枚举类型
是一个自定义数据类型,通过enum <枚举类型名>
的格式创建
#[derive(Debug)]
enum PePo{
Man,
Women
}
fn main(){
let a: PePo = PePo::Man;
let b: PePo = PePo::Women;
println!("{:?};{:?}",a,b);
}
集合类型
Vec
这是长度可以自由变化的集合,创建方式有下面几种:
知道初始内容
fn main(){
let mut v = vec![1,2,3];
println!("{:?}",v);
}
不确定初始内容
fn main(){
let mut arr:Vec<i32> = Vec::new();
}
注意:
一般在声明Vec集合的时候要加
mut
,以为
Vec集合是可变的。
Vec的数据操作
添加
使用push
可以在集合末尾添加内容,示例:
fn main(){
let mut arr = Vec::new(); //创建Vec集合
arr.push(1) //在集合末尾添加数据
}