初学rust
,相信你会像我一样被rust
庞杂的语法震惊到
下面的代码看起来像是java
和JavaScript
的结合体
use std::io::prelude::*;
use std::fs::OpenOptions;
fn main() -> std::io::Result<()> {
let mut file = OpenOptions::new()
.append(true).open("D:\\text.txt")?;
file.write(b" APPEND WORD")?;
Ok(())
}
fn main() {
let mut v = vec![1, 2, 4, 8];
println!("{}", match v.get(0) {
Some(value) => value.to_string(),
None => "None".to_string()
});
}
关于 =>
的用法
rust
作为一门只有6岁的新语言,从js
、java
、python
等高级语言中吸收了很多语法
=>
在JavaScript
中表示箭头函数,是一种为了为了在定义函数时省略function
关键字的语法糖
而在rust
语言中=>
是“匹配准备语法的部分”。
用通俗一点的话来讲就是,在使用match
语句的时候,对于每一种不同的情况进行匹配,如果匹配成功了之后,就执行这个=>
符号后面所对应的那些代码。
参考链接:
TypeScript 函数
JavaScript初学者必看“箭头函数”
关于 ->
的用法
->
表明的是函数的返回值类型
就像python
里面的类型注释
fn max(array: &[i32]) -> i32 {
let mut max_index = 0;
let mut i = 1;
while i < array.len() {
if array[i] > array[max_index] {
max_index = i;
}
i += 1;
}
return array[max_index];
}
fn main() {
let a = [2, 4, 6, 3, 1];
println!("max = {}", max(&a));
}
**粗体** _斜体_ [链接](http://example.com) `代码` - 列表 > 引用
。你还可以使用@
来通知其他用户。