Rust 基础知识

(一) 标量类型(scalar type)

  • 有符号整数(signed integers):i8i16i32i64i128isize(指针宽度)
  • 无符号整数(unsigned integers): u8u16u32u64u128usize(指针宽度)
  • 浮点数(floating point): f32f64
  • char(字符):单个 Unicode 字符,如 'a''α''∞'(每个都是 4 字节)
  • bool(布尔型):只能是 truefalse
  • 单元类型(unit type):()。其唯一可能的值就是 () 这个空元组

尽管单元类型的值是个元组,它却并不被认为是复合类型,因为并不包含多个值。

(二) 复合类型(compound type)

  • 数组(array):如 [1, 2, 3]
  • 元组(tuple):如 (1, true)

变量都能够显式地给出类型说明(type annotation)。数字还可以通过后缀(suffix)或默认方式来声明类型。整型默认为 i32 类型,浮点型默认为 f64类型。注意 Rust 还可以根据上下文来推断(infer)类型(译注:比如一个未声明类型整数和 i64 的整数相加,则该整数会自动推断为 i64 类型。仅当根据环境无法推断时,才按默认方式取整型数值为 i32,浮点数值为 f64)。

代码示例

fn main() {
    // 变量可以给出类型说明
    let logical: bool = true;
    println!("{}", &logical);

    let a_float: f64 = 1.0; // 常规说明
    let an_integer = 5i32; // 后缀说明

    // 不说明按默认方式决定类型
    let default_float = 3.0; // f64
    let default_integer = 7; // i32

    // 类型也可以根据上下文自动推断
    let mut inferred_type = 42; 
    // 根据下文推断 inferred_type 为i64
    inferred_type = 4294967296i64; 

    // 可变的变量其值可以改变
    let mut mutable = 12; // Mutable i32
    mutable = 21;

    // 报错变量的类型不能改变
    //mutable = false;

    // 可以用遮蔽(shadow)来覆盖前面的变量
    let mutable = true;
}

1) 编译

rustc base.rs 

2) 执行

.\base.exe

  • 2
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值