Rust基础语法

本文详细介绍了Rust编程语言中的变量使用,包括不可变变量、可变变量和常量的区别。此外,讲解了数据类型的四种基本类型:整数、布尔、字符和复合类型(元组、数组),以及整数的进制表示和隐式转换。还探讨了函数的定义和使用,包括无参无返回值、有参无返回值、有返回值的函数,以及if表达式和循环结构(loop、while、for)。最后,文章提到了数字的比较运算和不同类型数据之间的转换规则。


一 变量

1 不可变的变量

提示:如果直接使用let关键字定义变量,那么此变量不可变。并且默认情况下,Rust中的变量是不可变的。

fn main() {
   
   
    let x = 6;
    println!("变量的值=={}", x);
    x=7;
    println!("重新赋值后的变量的值=={}", x);
}

在这里插入图片描述
上面的代码对变量x重新赋值,就会编译报错。

2 可变的变量

如果要想变量可变,那么需要加上mut关键字。

fn main() {
   
   
    let mut x = 6;
    println!("变量的值=={}", x);
    x=7;
    println!("重新赋值后的变量的值=={}", x);
}

3 变量和常量

对于Rust变量来说,默认是不可变的,那么是否可以说是常量呢?
答案是:不能。
1 变量默认是不变的,但是常量总是不变的,并且不能对常量使用let关键字。
2 常量可以在任何作用域声明
3 常量只能用在常量表达式,不能作为函数调用的结果

4 隐藏

fn main() {
   
   
    let x = 6;
    println!("变量的值=={}", x);
    let x=x+1;
    println!("重新赋值后的变量的值=={}", x);//7
    let x=x*2;
    println!("重新赋值后的变量的值=={}", x);//14
}

上述代码定义了变量x。默认是不可变的,当定义相同名称的变量的时候,会隐藏原来的变量。执行x=x+1 是相当于隐藏的值+1进行新的变量x的赋值操作。

隐藏和可变的区别是隐藏会创建新的变量


提示:以下是本篇文章正文内容,下面案例可供参考

二 数据类型

Rust中主要有四种标量类型。分别是:整数、浮点数、布尔、字符串

1.整数

长度 有符号 无符号
8bit i8 (-127-128) u8 (0-128)
16bit i16 (-65535-65536) u16((0-65536))
32bit i32 u32
64bit i64 u64
Arch isize usize

Arch依赖于计算机架构。32位计算机就是32位,64位计算机则是64位

fn main() {
   
   
    let x:i8 = -129;
    println!("整数的值=={}",x);
}

上面代码运行则会报错:因为i8的范围是-127到128

  = note: `#[deny(overflowing_literals)]` on by default
  = note: the literal `129` does not fit into the type `i8` whose range is `-128..=127`
  = help: consider using the type `i16` instead

整数的进制表示

进制 例子
十进制 10_000
二进制 0b1111_0000
八进制 0o77
十六进制 0xff
char(仅限于u8) b’A’
fn main() {
   
   
    let x=10_000;
    let y=0o77;
    let z=0b1111_0000;
    let a=0xff;
    let b=b'A';
    println!("基于10进制的值=={}",x); //10000
    println!("基于10进制的值=={}",y); //63
    println!("基于10进制的值=={}",z); //240
    println!("基于10进制的值=={}",a); //255
    println!("基于10进制的值=={}",b); //65
}

整数的隐式转换

as运算符

在这里插入图片描述

上面的代码1是i32位的,现在用i64来接受,那么会显示编译错误。此时就可以使用as

fn main() {
   
   
    let b: i64 = 1i32 as i64;
    println!("x的值=={}",
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值