美文网首页
介绍Rust(2): 基本数字类型

介绍Rust(2): 基本数字类型

作者: 已不再更新_转移到qiita | 来源:发表于2018-09-10 18:02 被阅读241次
    Rust

    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, 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,5) = {}", 4f64.min(5f64));
    

    参考:

    https://zhuanlan.zhihu.com/time-and-spirit-hut
    https://zhuanlan.zhihu.com/p/21423472
    https://legacy.gitbook.com/book/kaisery/rust-book-chinese/details

    相关文章

      网友评论

          本文标题:介绍Rust(2): 基本数字类型

          本文链接:https://www.haomeiwen.com/subject/qbbkgftx.html