Rust从入门到放弃(1)—— hello,world
生活随笔
收集整理的這篇文章主要介紹了
Rust从入门到放弃(1)—— hello,world
小編覺得挺不錯的,現(xiàn)在分享給大家,幫大家做個參考.
安裝及環(huán)境配置
- 特點:安全,性能,并發(fā)
- rust源配置
- RLS安裝
- cargo
rust管理工具,該工具可以愉快方便的管理rust工程
#!/bin/bash mkdir learn cd learn cargo init ## 該命令會在當前目錄下初始化一個## 目錄下會出現(xiàn)一個Cargo.toml文件,這是Cargo的配置文件## 還有一個src目錄,目錄中包含一個main.rs的初始文件 cargo run ## 命令會編譯并運行程序 cargo build ## 編譯工程
變量與函數(shù)
函數(shù)定義 fn main(){}
fn main(){let world = "world";println!("hello, {}!", world); } //該例子中可以看出來,變量定義使用關(guān)鍵字 let,字符串格式化中的占位符采用 {}- let 關(guān)鍵字用于引入一個變量
- 占位符 {},在Rust中比較通用,將變量轉(zhuǎn)化為字符串,這里的變量可以是數(shù)值或者字符串。
- 返回值,->
變量聲明
let val:i32 = 1- 在rust中類型定義采用 var: type的形式
靜態(tài)字符串變量 &'static str
注意:在rust中,str是關(guān)鍵字,不能用作變量名
- 默認情況下,Rust中的一切都是不可變的,也就是說變量定義后不可改變其值,下面這段代碼編譯不會通過。
- 如果要改變變量,聲明時需要加上mut關(guān)鍵字
字符串,Rust中存在兩種字符串類型,str和String。
- &str: 字符串切片,固定大小的,不可變的UTF-8字節(jié)序列。
- String對象是可變的,可以用String::from初始化該類型
- 數(shù)字
- i8 i16 i32 i64
- u8 u16 u32 u64
- isize usize
- f32,f64
- 數(shù)組
- 數(shù)組不常使用,rust中vector更為常見
- 元組
有序的、不可變的對象列表
let x = (5, 'A'); let y : (i32, char) = (12, 'c'); let v = x.0 // v == 5 let a = y.1 // a == 'c'
Rust中的所有權(quán)
- 所有權(quán)
- Rust中,每個變量對綁定到它上的值有所有權(quán)。
- Rust中堆上的每個值都有一個所有者(變量)
- 當所有者超出作用域時,該值將被丟棄
- 借用
- 任何借用的有效期都不能超過原始所有者的作用域
- 任何時刻,都能夠不可變的借用一個資源許多次
- 任何時刻,都能夠可變的借用一個資源一次
方法&關(guān)聯(lián)函數(shù)
- impl作為實現(xiàn)結(jié)構(gòu)體方法的關(guān)鍵字,方法的輸入?yún)?shù)中第一個是self。調(diào)用采用.
- impl范圍內(nèi),輸入?yún)?shù)沒有self的方法,即為關(guān)聯(lián)函數(shù)。調(diào)用使用:
- 關(guān)聯(lián)函數(shù)經(jīng)常被用作返回一個結(jié)構(gòu)體新實例的構(gòu)造函數(shù)。下面的例子中,Square即為Rect的關(guān)聯(lián)函數(shù)。
- 每個Struct允許多個impl塊
轉(zhuǎn)載于:https://www.cnblogs.com/gexin/p/10941227.html
總結(jié)
以上是生活随笔為你收集整理的Rust从入门到放弃(1)—— hello,world的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 工行e分期信用卡介绍:工行e分期业务专属
- 下一篇: caffe介绍