rust笔记之变量和类型

rust变量和类型

变量声明

可变变量mut

类型推导

类型别名type xx=xx

静态变量


常量

基本类型: bool,char,整型,整型溢出,浮点类型,指针类型

类型转换

复合类型

1. tuple
2. struct, tuple struct
3. enum例如Option<T>

fn main() {
    println!("Hello, world!");

    let var1 :i32 = 123;
    println!("{}", var1);

    let mut x = 123;
    x = x+1;
    println!("{}", x);

    let x2 = 1234;
    println!("{}", x2);

    /*
    type age = i32;
    let x3 age = 12345;
    println!("{}", x3);
    */

    static S1:i32 = 124321;
    println!("{}", S1);

    const ABC:i32 = 123;
    println!("{}", ABC);

    let flag :bool = true;
    println!("{}", flag);

    let var4 = 0x_123_ABC;
    println!("{}", var4);

    let tup1 = (1i32, 2i32);
    println!("{}", tup1.0);
    let tup2 = (1,2);
    println!("{}", tup2.0);

    //let emmpty:() = ();
    //println!("{}", empty);

    struct Point{
        x:i32,
        y:i32,
    }

    let p1 = Point{x:0, y:1};
    println!("{},{}", p1.x, p1.y);

    struct Color(i32,i32, i32);
    let c = Color{0:1,1:2,2:3};
    println!("{}", c.0);

    let n:Name = Name::Int(20);
    read_num(&n);

    let n2:Name = Name::Float(20.123);
    read_num(&n2);


}

#[derive(Debug)]
enum Name {
    Int(i32),
    Float(f32),
}

fn read_num(num :&Name){
    match num{
        &Name::Int(value) => println!("int {}", value),
        &Name::Float(value) => println!("float {}", value),
    }
}

  

原文地址:https://www.cnblogs.com/beckbi/p/14618258.html