Rust 01.变量、类型、函数

转义输出:

rust 复制代码
fn main()
{
    let a = 12;
    println!("a = {{{}}}", a);
}
//a = {12}

数据类型

rust 复制代码
    let is_true: bool = true;
    println!("is_true = {}", is_true);

    let is_false = false;
    println!("is_false = {}, {}", is_false, is_true);

    //char 在rust里面,char是32位的
    let a = 'a';
    println!("a = {}", a);

    let b = '你';
    println!("b = {}", b);
    
    //i8, i16, i32, i64, u8, u16, u32, u64, f32, f64
    let c: i8 = -111;
    println!("c = {}", c);

    let d: f32 = 0.0009;
    println!("d = {}", d);

    //自适应类型isize, usize
    println!("max = {}", usize::max_value());

3. 函数

rust 复制代码
fn other_fun2(a: i32, b: i32) -> i32 {
    let result = a + b;
    return result;
}

fn other_fun3(a: i32, b: i32) -> i32 {
    //let result = a + b;
    //result
    a + b
}

fn main() {

    let a: i32 = -1;
    let b: u32 = 2;

    let c: i32 = 9;
    let r: i32 = other_fun2(a, c);
    println!("r = {}", r);

    let r2: i32 = other_fun3(a, c);
    println!("r2 = {}", r2);

    //语句是执行一些操作,但是不返回值的指令
    //let y = 1; //语句,不返回值
    //let x = (let y = 1);
    
    //表达式会计算一些值
    let y = {
        let x = 1;
        //x + 1;
        x + 1
    };

    println!("y = {}", y);

    println!("Hello, world!");
}

4. 循环体

rust 复制代码
fn main() {
    //if 
    let y = 0;
    if y == 1 {
        println!("y = 1");
    }

    //if-else
    if y == 1 {
        println!("y = 1");
    } else {
        println!("y != 1");
    }

    //if - else if - else
    println!("++++++++++++");
    let y = 2;
    if y == 1 {
        println!("y = 1");
    } else if y == 0 {
        println!("y = 0");
    } else if y == 2 {
        println!("y = 2");
    } else {
        println!("other");
    }

    //let中使用if
    let condition = true;
    let x = if condition {
        5
    } else {
        6
        //"six" //error
    };
    
    println!("x = {}", x);

    //loop
    let mut counter = 0;
    loop {
        println!("in loop");
        if counter == 10 {
            break;
        }

        //counter = counter + 1;
        counter += 1;
    }
    
    let result = loop {
        counter += 1;
        if counter == 20 {
            break counter*2;
        }
    };
    println!("result = {}", result);

    //while
    let mut i = 0;
    while i != 10 {
        i += 1;
    }
    println!("i = {}", i);

    //for
    println!("+++++++++++++++");
    let arr:[u32; 5] = [1, 2, 3, 4, 5];
    //for element in arr.iter() {
    for element in &arr {
        println!("element = {}", element);
    }
    println!("Hello, world!");
}
相关推荐
gihigo19983 分钟前
LDPC码硬判决译码算法的详细解析
网络·算法
Clarence Liu4 分钟前
快慢指针问题
后端·算法
Swift社区7 分钟前
LeetCode 467 环绕字符串中唯一的子字符串
算法·leetcode·职场和发展
Yzzz-F8 分钟前
P3870 [TJOI2009] 开关[线段树(区间加 区间和 变种)]
算法
wen__xvn13 分钟前
代码随想录算法训练营DAY7第三章 哈希表part02
数据结构·算法·散列表
代码游侠14 分钟前
应用——Linux Framebuffer 图形库显示
linux·运维·服务器·数据库·笔记·算法
胖咕噜的稞达鸭17 分钟前
算法日记分治:用归并排序解决逆序对问题
算法
代码or搬砖29 分钟前
JVM垃圾回收算法
jvm·算法
Aaron158829 分钟前
基于RFSOC+VU13P在5G波束成形中的技术应用分析报告
人工智能·算法·5g·fpga开发·硬件架构·信息与通信·基带工程
小丁努力不焦虑30 分钟前
常考算法题
算法