国外平面设计作品集,淘宝seo优化排名,站酷官网,公司介绍模板简短学习 Rust 的同学#xff0c;大概都有其他语言的背景。仔细分辨与已有知识的差别#xff0c;或有助于更好地理解Rust。以下是把 C 语言与 Rust 作一初步对比#xff0c;以见出其中差别。
1.变量声明#xff1a;
C语言使用int、float等关键字来声明变量的类型#xff0c;…学习 Rust 的同学大概都有其他语言的背景。仔细分辨与已有知识的差别或有助于更好地理解Rust。以下是把 C 语言与 Rust 作一初步对比以见出其中差别。
1.变量声明
C语言使用int、float等关键字来声明变量的类型而Rust则使用类型推断无需显式声明变量类型。
示例C语言
int x 5;
float y 3.14;示例Rust
let x 5;
let y 3.14;2.函数定义
C语言使用return关键字返回函数结果而Rust则使用隐式返回值。
示例C语言
int add(int a, int b) {return a b;
}示例Rust
fn add(a: i32, b: i32) - i32 {a b
}3.内存管理
C语言需要手动分配和释放内存而Rust通过所有权系统自动管理内存。
示例C语言
int* create_array(int size) {int* arr malloc(size * sizeof(int));return arr;
}示例Rust
fn create_array(size: usize) - Veci32 {vec![0; size]
}4.错误处理
C语言通常使用返回值和全局变量来表示错误状态而Rust使用Result枚举、Option枚举进行错误处理。
示例C语言
int divide(int a, int b) {if (b 0) {return -1; // 错误状态}return a / b;
}示例Rust
fn divide(a: i32, b: i32) - Resulti32, static str {if b 0 {Err(Division by zero)} else {Ok(a / b)}
}5.循环语句
for循环C语言使用for关键字进行循环可以指定初始值、条件和增量。Rust也使用for关键字进行循环但语法略有不同通常用于迭代集合或范围。
示例C语言
for (int i 0; i 5; i) {printf(%d\n, i);
}示例Rust
for i in 0..5 {println!({}, i);
}while循环C语言使用while关键字进行循环只要条件为真就会继续执行循环体。Rust也使用while关键字进行循环与C语言的用法相同。
示例C语言
int i 0;
while (i 5) {printf(%d\n, i);i;
}示例Rust
let mut i 0;
while i 5 {println!({}, i);i 1;
}注意Rust 语言的 for、while 循环语句中的条件语句不用加括号。
do-while循环C语言使用do-while循环先执行循环体然后检查条件是否为真。Rust没有内置的do-while循环但可以通过其他方式实现类似的效果。
示例C语言
int i 0;
do {printf(%d\n, i);i;
} while (i 5);示例Rust
let mut i 0;
loop {println!({}, i);i 1;if i 5 {break;}
}