建设一个网站需要多少费用,登录企业邮箱入口,搜全网的浏览器,南充房管局网站查询房产字面量就是值。值最终必须编码成二进制存储在某块内存上。 变量与字面量的关系就像杯子和水的关系。
字面量是有类型的。字面量类型有#xff1a;布尔、数字、文本、字节
一、布尔
类型是bool true false
二、数字
通过后缀表示类型 通过前缀表示进制 通过 “_” 来分割数…字面量就是值。值最终必须编码成二进制存储在某块内存上。 变量与字面量的关系就像杯子和水的关系。
字面量是有类型的。字面量类型有布尔、数字、文本、字节
一、布尔
类型是bool true false
二、数字
通过后缀表示类型 通过前缀表示进制 通过 “_” 来分割数据易于可读性
一整数
长度有符号类型无符号类型8位i8u816位i16u1632位i32u3264位i64u64128位i128u128视架构而定isizeusize
isize 和 usize 类型取决于程序运行的计算机CPU类型 若CPU是32位的则这两个类型是32位的同理若CPU是64位那么它们则是64位。
进制形式示例十进制98十六进制0xff八进制0o77二进制0b1111_0000
例如
7
7u8
0b111
0x7u8二小数 f32 f64
例如
0.1
0.1f64;
0.1e7;
12E-9f64;三、文本
一单字符 类型是char 使用’’ 两个单引号之间可以是unicode字符和转义字符。
所有转义字符
名称\x417-bit字符编码2位数字最大值为0x7F\u{7FFF}24-bit Unicode字符编码最多6个数字\n换行符\r回车符\t制表符\\反斜线\单引号\双引号\0Null
例子
a
中
\u{4567}
\x62
\二字符串 字符串字面量类型是str。这也就是为什么字符串字面值是不可变的str 是一个不可变引用。
1.双引号括起来就是一个字符串 当在换行符前面使用 \时则\、换行符、下一行开头的所有空格都将会被忽略
let a foobar;
let b foo\bar;
assert_eq!(a,b);2.原生字符串字面量 不做任何转义表示原样字符串 1使用r 例如
r\x52等价于\\x52值为\x52
foo; rfoo; // foo
\x52; R; rR; // R
\\x52; r\x52; // \x522使用 r#“”#的方式来指定字符串边界 如果字符串中有双引号怎么办因为原生字符串里不能使用转义所以 \ 是肯定不行的。 在双引号两侧加#比如
r#foo#等价于\foo\值为foo如果字符串中有#怎么办那就增加边界#的数量开头结尾需要相等数量的 #。 比如字符串里面有4个 #那么该字符串可以用r#####abc####def#####来包围起来也就是比里面的 # 多即可。
示例:
\foo\; r#foo#; // foo
foo #\# bar;
r##foo ## bar##; // foo ## bar四、字节
一字节 字节类型其实就是u8就是整数。 使用b’形式 两个单引号之间可以是非转义ascii字符和字节转义
字节转义
名称\x7F8-bit字符编码2位数字最大值为255\n换行符\r回车符\t制表符\\反斜线\0Null\’\
例子
b7
b\x55
b\n
b\
b\\二字节串 字节串字面量类型为[u8]。
1.使用 b 比如
bworld
b\x52\x75\x73\x74 as bytes2.原生字节串字面量 不做任何转义 1使用br
bfoo; brfoo; // foo
b\x52; bR; brR; // R
b\\x52; br\x52; // \x522使用br#“”# 示例
b\foo\; br#foo#; // foo
bfoo #\# bar;
br##foo ## bar##; // foo ## bar