找公司做網(wǎng)站要注意什么2022知名品牌營銷案例100例
字面量就是值。值最終必須編碼成二進(jìn)制存儲(chǔ)在某塊內(nèi)存上。
變量與字面量的關(guān)系就像杯子和水的關(guān)系。
字面量是有類型的。字面量類型有:布爾、數(shù)字、文本、字節(jié)
一、布爾
類型是bool
true
false
二、數(shù)字
通過后綴表示類型
通過前綴表示進(jìn)制
通過 “_” 來分割數(shù)據(jù),易于可讀性
(一)整數(shù)
長度 | 有符號(hào)類型 | 無符號(hào)類型 |
---|---|---|
8位 | i8 | u8 |
16位 | i16 | u16 |
32位 | i32 | u32 |
64位 | i64 | u64 |
128位 | i128 | u128 |
視架構(gòu)而定 | isize | usize |
isize 和 usize 類型取決于程序運(yùn)行的計(jì)算機(jī)CPU類型: 若CPU是32位的,則這兩個(gè)類型是32位的,同理,若CPU是64位,那么它們則是64位。
進(jìn)制形式 | 示例 |
---|---|
十進(jìn)制 | 98 |
十六進(jìn)制 | 0xff |
八進(jìn)制 | 0o77 |
二進(jìn)制 | 0b1111_0000 |
例如
7
7u8
0b111
0x7u8
(二)小數(shù)
f32
f64
例如
0.1
0.1f64;
0.1e7;
12E-9f64;
三、文本
(一)單字符
類型是char
使用’’
兩個(gè)單引號(hào)之間可以是unicode字符和轉(zhuǎn)義字符。
所有轉(zhuǎn)義字符
名稱 | |
---|---|
\x41 | 7-bit字符編碼(2位數(shù)字,最大值為0x7F) |
\u{7FFF} | 24-bit Unicode字符編碼(最多6個(gè)數(shù)字) |
\n | 換行符 |
\r | 回車符 |
\t | 制表符 |
\\ | 反斜線 |
\' | 單引號(hào) |
\" | 雙引號(hào) |
\0 | Null |
例子
'a'
'中'
'\u{4567}'
'\x62'
'\"'
(二)字符串
字符串字面量類型是&str。這也就是為什么字符串字面值是不可變的;&str 是一個(gè)不可變引用。
1.雙引號(hào)括起來就是一個(gè)字符串
當(dāng)在換行符前面使用 \時(shí),則\、換行符、下一行開頭的所有空格都將會(huì)被忽略:
let a = "foobar";
let b = "foo\bar";
assert_eq!(a,b);
2.原生字符串字面量
不做任何轉(zhuǎn)義,表示原樣字符串
(1)使用r""
例如,
r"\x52"等價(jià)于"\\x52",值為\x52
"foo"; r"foo"; // foo
"\x52"; "R"; r"R"; // R
"\\x52"; r"\x52"; // \x52
(2)使用 r#“”#的方式來指定字符串邊界
如果字符串中有雙引號(hào)怎么辦?因?yàn)樵址锊荒苁褂棉D(zhuǎn)義,所以 \"
是肯定不行的。
在雙引號(hào)兩側(cè)加#,比如,
r#""foo""#等價(jià)于"\"foo\"",值為"foo"
如果字符串中有#怎么辦?那就增加邊界#的數(shù)量,開頭結(jié)尾需要相等數(shù)量的 #。
比如字符串里面有4個(gè) #,那么該字符串可以用r#####"abc####def"#####
來包圍起來,也就是比里面的 # 多即可。
示例:
"\"foo\""; r#""foo""#; // "foo"
"foo #\"# bar";
r##"foo #"# bar"##; // foo #"# bar
四、字節(jié)
(一)字節(jié)
字節(jié)類型其實(shí)就是u8,就是整數(shù)。
使用b’'形式
兩個(gè)單引號(hào)之間可以是非轉(zhuǎn)義ascii字符和字節(jié)轉(zhuǎn)義
字節(jié)轉(zhuǎn)義
名稱 | |
---|---|
\x7F | 8-bit字符編碼(2位數(shù)字,最大值為255) |
\n | 換行符 |
\r | 回車符 |
\t | 制表符 |
\\ | 反斜線 |
\0 | Null |
\' | ’ |
\" | " |
例子
b'7'
b'\x55'
b'\n'
b'\''
b'\\'
(二)字節(jié)串
字節(jié)串字面量類型為&[u8]。
1.使用 b""
比如
b"world"
b"\x52\x75\x73\x74 as bytes"
2.原生字節(jié)串字面量
不做任何轉(zhuǎn)義
(1)使用br""
b"foo"; br"foo"; // foo
b"\x52"; b"R"; br"R"; // R
b"\\x52"; br"\x52"; // \x52
(2)使用br#“”#
示例:
b"\"foo\""; br#""foo""#; // "foo"
b"foo #\"# bar";
br##"foo #"# bar"##; // foo #"# bar