Rust学习笔记(1) --- 变量

Rust学习笔记(1) — 变量

Rust中变量的基本用法:

let x = 3;

可变性

Rust默认的变量是不可变的,如果对定义过的变量重新赋值将会报错:

let x = 3;
x = 5;		// 报错:对不可变变量重新赋值

解决方案有两个:

  1. 重新定义
let x = 3;
let x = 5;
  1. 定义时声明为值可变
let mut x = 3;
x = 5;

重新用let定义实际上相当于将之前的变量x隐藏了,然后用一个同名的变量来赋值,因此可以在重定义的时候改变变量的类型,但是声明为可变变量则不能够改变变量类型:

let x = 3;
let x = 'a';			// ok, x现在的值为字符a
let mut y = 3;
y = 'a';				// 报错:类型不匹配

变量的类型

Rust 是 静态类型语言,也就是说在编译时就必须知道所有变量的类型。

在定义一个变量的时候可以同时显式标明其类型:

let x: i8 = 234;

编译器通常可以推断出数据的类型,只有当推断结果有多种可能时才必须要显式标明。

标量类型代表一个单独的值。Rust 有四种基本的标量类型:整型、浮点型、布尔类型和字符类型。

Rust中整型共分为有符号和无符号等12种类型,其中数字类型默认是i32

长度有符号无符号
8-biti8u8
16-biti16u16
32-biti32u32
64-biti64u64
128-biti128u128
archisizeusize

Rust 也有两个原生的浮点数类型,f32f64,分别占 32 位和 64 位。默认类型是f64

Rust 中的布尔类型有两个可能的值:truefalse。Rust 中的布尔类型使用bool表示。

于是就可以进行数学运算:

let a = 3;
let b = 5;
let c = a + b;
let d = a - b;
let e = a * b;
let f = a / b;
let g = a % b;		// 取余

然而Rust的数学运算是不会进行自动类型转换的:

let a = 3;
let b = 5;
let c = a / b;			// c = 0
let d = 2.5;
let e = a * d;		// 报错:类型不匹配

一个浮点数乘以一个整数竟然说类型不匹配……

可以对类型进行转换以消除该错误:

let a = 3;
let d = 2.5;
let e = (a as f32) * d;

进行比较运算:

let a = 3;
let b = 2.5;
let c: bool = (a as f64) > b;		// c的值为true
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值