RUST 筆記(一)
記錄在學習的過程中rust
語言和java
、js
相似的地方,以及rust
的特性
- 引用外部包:
extern crate rand;
// crate 代表依賴,rand 是依賴名稱 - 引用內部預設包:
use std::io;
// 使用標準包下的io,也可以在使用時全路徑指定,如std::io::stdin();
- 引入了巨集,如常用的
print!("hello, {}", "zhangsan")
; // 感嘆號代表使用的是巨集,不是函式 - 一般用
let
定義變數,且變數預設是不可以改變的,用mut
修飾就可以改變,且傳參時支援&
地址引用;const
定義常量,任何時候都不可改變 u32
表示無符號的32位整形(有符號表示為正數,如i32)
答疑:
6. 為什麼使用::
而是不是.
?
這兩個冒號(::)是運算子,允許將特定的某個函式置於某型別的名稱空間(namespace)下。
- &引用
& 是引用,為什麼需要引用,因為涉及到垃圾回收,如下
{
let s1 = String: from("hello");
let s2 = s1; // 這裡 s1 失效了,因為在任意給定時間,要麼 只能有一個可變引用(不允許存在競爭),要麼 只能有多個不可變引用
doSomeThing(s1); // 同樣也是失效,因為引數也是賦值,如果想不失效,應使用&引用
}
猜數字遊戲 Demo |
extern crate rand;
use std::io;
use std::cmp::Ordering;
use rand::Rng;
fn main() {
println!("Guess the number!");
println!("Please input your guess.");
let secret_number = rand::thread_rng().gen_range(1, 101);
// println!("the sceret number is {}", secret_number);
loop {
let mut guess = String::new();
io::stdin().read_line(&mut guess).expect("Failed to read line");
println!("You guessed: {}", guess);
let guess: u32 = match guess.trim().parse() {
Ok(num) => num,
Err(_) => {println!("Please type a number!");continue},
};
match guess.cmp(&secret_number) {
Ordering::Less => println!("Too small"),
Ordering::Greater => println!("Too big"),
Ordering::Equal => {println!("You win");break;},
}
}
}
相關文章
- RUST 筆記(三)Rust筆記
- RUST 筆記(二)Rust筆記
- RUST 筆記(四)Rust筆記
- Rust 學習筆記Rust筆記
- rust 學習記錄(一)Rust
- 一些 Rust Tips 記錄Rust
- 007 Rust死靈書筆記之引用與別名Rust筆記
- 001 透過連結串列學習Rust筆記之前言Rust筆記
- 001 通過連結串列學習Rust筆記之前言Rust筆記
- Scala筆記(一)筆記
- React筆記(一)React筆記
- Dubbo筆記(一)筆記
- docker筆記(一)Docker筆記
- Pytorch筆記(一)PyTorch筆記
- 前端筆記(一)前端筆記
- TypeScript筆記(一)TypeScript筆記
- MyBatis筆記(一)MyBatis筆記
- rust 語言試一下,記錄一下Rust
- CA週記 | 2022年的第一課RustRust
- CA週記 2022年的第一課 - RustRust
- 爬蟲筆記(一)爬蟲筆記
- 一點git筆記Git筆記
- python筆記(一):序列Python筆記
- InnoDB文件筆記(一)筆記
- Kotlin Coroutines 筆記 (一)Kotlin筆記
- 學習筆記(一)筆記
- tableau視訊筆記(一)筆記
- Angular 學習筆記(一)Angular筆記
- vue一些筆記Vue筆記
- React 學習筆記【一】React筆記
- vue學習筆記一Vue筆記
- Canvas學習筆記(一)Canvas筆記
- Jquery學習筆記(一)jQuery筆記
- goLang學習筆記(一)Golang筆記
- Android學習筆記一Android筆記
- css學習筆記(一)CSS筆記
- SCSS學習筆記(一)CSS筆記
- 深度學習 筆記一深度學習筆記