Rust-常量、函数、注释、while条件循环、for循环

常量

const 常量名:类型(u32)=100_000
下划线可以直接加在数字中 ,增加可读性

Shadowing 隐藏

let x
let x=1

数据类型

let var:u32 ;标注数据类型

标量类型

一个标量类型代表一个单一的值
Rust有四个主要的标量类型

  • 整数类型
  • 浮点类型
  • 布尔类型
  • 字符类型

整数类型

无符号整数类型以U开头
有符号整数类型以i开头

在这里插入图片描述arch表示系统架构,由程序运行的计算机架构决定:
如果是64位计算机,那就是64位的

整数字面值

在这里插入图片描述十进制、十六进制0x开头、八进制0o开头 、二进制0b开头、byte b开头
除了byte类型,所有数值字面值都允许使用类型后缀,例如 57u8
整数类型默认u32

整数溢出

调试模式下编译:Rust会检查整数溢出,如果发生溢出,程序在运行时就会panic
发布模式下(–release)编译:Rust不会检查可能导致panic的整数溢出
如果溢出发生:rust会发生”环绕“操作:
u8范围0-255,如果把u8值设成256,变成0;257变成1;
但是程序不会panic

浮点类型

Rust有两种基础的浮点类型,也就是含有小数部分的类型

  • f32 32位 单精度
  • f64 64位 双精度
  • 默认双精度 ,速度差不多 ,精度更高

布尔类型

一个字节大小
符号是bool

字符类型

  • char类型用来描述语言中最基础的单个字符
  • 字面值使用单引号
  • 占用四个字节大小
  • 是unicode标量值,可以表示比ascii多得多的字符内容:拼音、中日韩文、零长度空白字符、emoji表情等。

复合类型

tuple

  • 长度固定
  • 创建 用,分开;各元素的数据类型不必相同
  • let tup:(i32,f64,u8)=(500,6.4,1)
  • println!("{},{},{}",tup.0,tup.1,tup.2)
获取tuple的元素值

可以使用模式匹配来解构一个tuple来获取元素的值

let tup:(i32,f32,u8)=(500,6.33,3);
    println!("{},{},{}",tup.0,tup.1,tup.2);
访问tuple的元素

同上

数组(栈上)

  • 长度固定
  • 每个元素类型相同
  • 【】,用逗号分开
  • 数组没有Vector灵活
  • Vector的长度可以改变

数组类型【类型;长度】

let a:[i32;5]=[1,2,3,4,5]
如果数组值相同
let a=【3;5】,他就相当于:let a=【3,3,3,3,3】

访问使用【】

数组越界,编译会通过,运行时会报错

函数

fn main(){
}
//函数名小写,用下划线隔开
fn another_function(){
}

函数参数

argument 传值的时候
parameter 声明函数时
参数必须指明类型

test1(5)//argument
fn test1(i:i64){//parameter`

语句与表达式

加;为语句,语句没有返回值
返回值就是函数体内最后一个表达式的值
提前返回,需要return。

输出结果为8
fn main() {
 
    let x=test1(5);
     println!("{}",x)//argument
}


fn test1(i:u64)->u64{//parameter
    i+3
} 

注释同c++

控制流

if else

 if num < 10 {
        println!("true");
    }else{ 
        println!("false");
    }

if else if else

let condition=true;
    let num =if condition{6}else{7};

if else可以跟在let后面

loop

  • 可以使用break终止
  • loop也可以跟在let后面
let mut num=9;
    let num1 =loop{
        num = num + 1;
        //if num == 10{
            break num ;
       // }

    };
    println!("{}",num1);

while条件循环

    while num!=0{
        print!("  {}  ", num );
        num=num-1;
    }

for循环(安全简洁)

比以上两个低错且高效

let a=[1,2,3,5];
   for element in a.iter(){
        println!("{} ",element);
   }

range

指定开始数字和结束数字,range可以生成他们之间的数字(不含结束
rev方法可以反转range

 for num in (1..4).rev(){
       print!(" {}",num);
   }

输出结果321
参考视频链接

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值