rust by example 2

本来这篇准备明天在写的,但正好今天的Release没出问题,就接着写吧

rust里的原生类型:

  • 有符号整数: i8i16i32i64isize(指针大小)

  • 无符号整数:u8u16u32u64usize(指针大小)

  • 浮点数:f32f64

  • charUnicode标量值如'a''α''∞'(4字节)

  • bool要么truefalse

  • 和单元类型(),也是唯一的值()

  • 数组 [1, 2, 3]

  • 元组等(1, true)

rust是有类型推导的,所以可以直接声明变量如:let a = 1数字默认 i32 小数默认f64

当然也可以指定类型

fn main() {
    // 指定变量类型
    let logical: bool = true;

    let a_float: f64 = 1.0;  // 普通
    let an_integer   = 5i32; // 后缀

    // 不指定就会是默认的
    let default_float   = 3.0; // `f64`
    let default_integer = 7;   // `i32`

    let mut mutable = 12; // 变量 `i32`.

    // rust并不是动态语言,这个是错误的
    mutable = true;
}

倒数第二个的注释是“变量”,为什么呢,因为用let a = 1这种方式声明的是不可变的,类似c#里的常量。只有加上mut才是变量,

也就是说我们我们用最少的代码声明的是不可变,要声明变量得加代码,我当初就因为这个放弃rust。直到现在都不理解。

原文地址:https://www.cnblogs.com/fengbol/p/4748173.html