1. 程式人生 > 程式設計 >介紹Rust(2): 基本數字型別

介紹Rust(2): 基本數字型別

來自簡書

上一篇的Rust(1): 安裝與包管理工具 介紹了rust的安裝、編譯程式碼以及包管理工具。這一篇文章將重點介紹Rust的基本基本數字型別。

找到了一個執行Rust的線上工具play-rust

main主函式

fn main() {
}
複製程式碼

Rust不例外的也有一個main函式,有main函式才能編譯成執行檔案。

列印

println!() 是rust裡的巨集,關於巨集的問題,話題很大。 行尾的;必不可少.

println!("Hello,world");
println!("hi {user} ",user = "sara");
println!("{:.2}",3.1415);
println!("二進位制: {:b},十六進位制: {:x},八進位制: {:o}"
,10,10); println!("5+4= {}",5 + 4); 複製程式碼

匯入類庫

使用 use

use std::io::stdin;
use std::{f32,f64,i16,i32,i64,i8,isize,u16,u32,u64,u8,usize};
複製程式碼

f32 表示32位的float型別 f64 表示64位的float型別 i8 表示8位的int型別 ... ui8 表示無符號8位的int型別 sizeusize型別,與所在的平臺相關,如果是32位系統上,則是32位大小;如果是64位系統上,則是64位大小。在C++中與它們相對應的類似型別是int_ptr和uint_ptr。 ...

以下都是成立的

let i1 : i32 = 32;     // 10進製表示
let i2 : i32 = 0xFF;   // 以0x開頭代表16進製表示
let i3 : i32 = 0o55;   // 以0o開頭代表8進製表示
let i4 : i32 = 0b1001; // 以0b開頭代表2進製表示
let i6 = 123usize; // i6變數是usize型別
let i7 = 0x_ff_u8; // i7變數是u8型別
let f1 = 123.0f64;  // f64型別的變數
println!("Max i8 {},Min i8 {}",i8::MAX,i8::MIN);// 檢視基本資料型別的最大最小值

複製程式碼

關鍵字as,專門用於型別的轉換:

let var1: i8 = 41;
let var2: i16 = var1 as i16;
複製程式碼

基本的數學運算

println!("5+4= {}",5 + 4);
println!("5-4= {}",5 - 4);
println!("5*4= {}",5 * 4);
println!("15/4= {}",15 / 4);
println!("18%4= {}",18 % 4);

println!("2^6 = {}",2i32.pow(6));
println!("sqrt 9 = {}",9f64.sqrt());
println!("27 cbrt 9 = {}",27f64.cbrt());
println!("Round 1.45 = {}",1.45f64.round());
println!("Floor 1.45 = {}",1.45f64.floor());
println!("Ceiling 1.45 = {}",1.45f64.ceil());
println!("e ^2 = {}",2f64.exp());
println!("log(2)= {}",2f64.ln());
println!("log10(2) = {}",2f64.log10());
println!("90 to Radians = {}",90f64.to_radians());
println!("PI to Degrees = {}",3.1415f64.to_degrees());
println!("sin(3.1415) = {}",3.1415f64.sin());

println!("Max(4,5) = {}",4f64.max(5f64));
println!("Min(4,4f64.min(5f64));
複製程式碼

參考:

zhuanlan.zhihu.com/time-and-sp…

zhuanlan.zhihu.com/p/21423472

legacy.gitbook.com/book/kaiser…