类似于绝大多数语言,Rust核心部分提供的数据类型包含整型、实型(浮点数)等常规类型,同时也提供字符串类型。
标量/单量类型
整数与浮点数
i8 是8位(有符号)整型, i32 是32位整型; u32 是32位无符号整型; f32 是32位实型(浮点数)。 其具体大小均包括8、16、32、64这四种。 额外地,对于整数,另有 isize 和 usize 两种,代表“取决于机器的大小”。
对于整数,Rust也支持许多其他“单位”的转换:二进制、八进制、十六进制、以_分段的十进制。 额外地,对于 u8 ,Rust支持直接赋予ASCII对应值(如 b'A' )。例子及更多解释见 官方教程整数类型部分 。
算数运算符和其他C家族的一致,不再赘述。
字符类型
一个字符类型( char )的变量表示一个Unicode Scalar Value(基本可以理解为一个Unicode字符)。
Rust区分字符和字符串,(同多数语言一样)其字面量分别使用单引号和双引号。
字符串
Rust中的字符串分为 str 和 String 两种。其区别是由于Rust目的(作为系统编程语言,取代C): str 在 栈 上分配,而 String 在 堆 上分配(该类型更像是指针/引用)。
另外, str 不可变,而 String (在其 mut 时)可变。
使用 "abcd" 创建的是 str ,但两者之间可以转换: str.to_string() 和 String.as_str() 。后文会更详细介绍。
        Forward links:
        
    
    
        Backward links:
        
    
您可以在Hypothesis上的該群組內進行評論,或使用下面的Disqus評論。