# rust怎么定义基本数据类型?
- rust是⼀种静态类型(statically typed)的语⾔,这意味着它必须在编译期知道所有变量的类型。
答:
对于其他数据类型,你将看到不同的类型标注。如i8、i64.
标量类型,标量(scalar)类型表⽰单个值。Rust 有 4 个基本的标量类型:整型、浮点型、布尔型和字符。
# 怎么打印变量?
入门的第一句就是打印:Hello, world! 在控制台上。
怎么打印变量呢?
答:可以使用占位符来打印值。
rust代码
fn main() {
// 默认推断的类型是 i32
let a = 1;
// 指定类型 i64
let b:i64 = 2;
println!("打印整形变量:{}",a);
println!("打印i64整形变量:{}",b);
}
1
2
3
4
5
6
7
8
2
3
4
5
6
7
8
python代码。
a = 2
print(f"打印变量的值:{a}")
1
2
2
java只有日志才有这中打印方式。
# 怎么定义变量?
rust定义变量与其他语言有什么区别?
答:rust的变量分为:不可变变量用let修饰,和可变变量用 let mut 共同修饰。不可变变量的意思是不可再次对某一个变量进行赋值操作(修改变量原有的值)。
rust案例
fn main() {
println!("Hello, world!");
// 变量的声明
// 1、不可变的绑定变量
let target = "world";
// 可变的绑定对象 【mut修饰 可变】
let mut greeting = "Hello";
println!("{}, {}", greeting, target);
greeting = "How are you doing";
target = "mate"; // 不允许你再次为: target分配 值
println!("{}, {}", greeting, target);
}
1
2
3
4
5
6
7
8
9
10
11
12
13
2
3
4
5
6
7
8
9
10
11
12
13
let:让。
mut :mutable代表是 “adj.可变的”。
总结变量的定义
- 在Rust中,当你使用 "let mut" 来声明一个变量时,这个变量的值可以在后续的代码中被改变。
- “let”,这是一个用于声明变量的关键字。在许多编程语言中,包括Rust,"let" 被用来引入新的变量或者常量。
# 怎么定义整数类型?
注意:有符号的数字以:二进制补码形式存储!
整型默认是 i32
运行的结果。
下面是rust常用定义方式:
fn main() {
// 默认推断的类型是 i32
let a = 1;
// 指定类型 i64
let b:i64 = 2;
println!("打印整形变量:{}",a);
println!("打印i64整形变量:{}",b);
}
1
2
3
4
5
6
7
8
2
3
4
5
6
7
8
java怎么定义整数类型的呢?
public class Test01 {
public static void main(String[] args) {
// 定义 i 变量
int i = 1;
System.out.println(i);
}
}
1
2
3
4
5
6
7
8
2
3
4
5
6
7
8
# 字面量是什么?
# 怎么定义浮现类型?
fn main() {
// 定义浮点类型
let x = 2.0; // 默认是:f64
let y:f32 = 3.0;
println!("打印浮点默认f64变量:{}",x);
println!("打印f32变量:{}",y);
}
1
2
3
4
5
6
7
2
3
4
5
6
7
运行结果如下:
# 怎么进行数学的运算?
加法、减法、乘法、除法和取模运算
fn main() {
// 加法
// addition
let sum = 5 + 10;
println!("加法的结果为:{}", sum);
// 减法
// subtraction
let difference = 95.5 - 4.3;
println!("差的结果为:{}", difference);
// multiplication
let product = 4 * 30;
println!("积的结果为:{}", product);
// 除法
// division
let quotient = 56.7 / 32.2;
let floored = 2 / 3; // Results in 0
println!(
"quotient的结果为:{}、floored的结果为:{}",
quotient, floored
);
// remainder
let remainder = 43 % 5;
println!("取模的结果为:{}", remainder);
}
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
运行结果:
# 布尔类型怎么使用?
fn main() {
// 布尔类型 定义
let t = true;
let f: bool = false;
println!("布尔类型:{}、布尔类型:{}", t,f);
}
1
2
3
4
5
6
7
2
3
4
5
6
7
运行结果:
# rust的字符集怎么用?
Rust 的字符类型⼤⼩为 4 个字节。
4个字节意味这什么?
答:它可以表⽰的远远不⽌是 ASCII。
- 标⾳字⺟
- 中⽂ / ⽇⽂ / 韩⽂的⽂字
- emoji
- 零宽空格 (zero width space)
在Rust 中都是合法的字符类型。
Unicode值的范围
的范围为 U+0000 ~ U+D7FF 和 U+E000~U+10FFFF。
注意: “ 字符 ” 并 不是 Unicode 中的⼀个概念。
fn main() {
// 字符
let c = 'z';
let z = 'ℤ';
let heart_eyed_cat = '😻';
println!("c:{}、z:{}、heart_eyed_cat:{}", t, f,heart_eyed_cat);
}
1
2
3
4
5
6
7
2
3
4
5
6
7
运行结果:
# 复合类型有哪些?
复合类型——compound type
可以将多个值组合成⼀个类型。
注意:一般数组应用场景:当你希望确保始终具有固定数量的元素。