char

char

Rustchar类型是语言中最原生的字母类型,如下代码展示了如何使用它(注意char由单引号指定,不同于字符串使用双引号。您看到一个char始终是一个字符,并使用 '' 而不是 ""。所有字符均为4个字节。它们是4个字节,因为字符串中的某些字符超过一个字节。一直在计算机上使用的基本字母是1个字节,后面的字符是2个字节,其他字符是34。一个char4个字节,因此可以容纳所有这些字符。

fn main() {
    println!("{}", "a".len()); // .len() gives the size in bytes
    println!("{}", "ß".len());
    println!("{}", "国".len());
    println!("{}", "𓅱".len());
}

1
2
3
4

您可以看到 a 是一个字节,德语 ß 是两个字节,日本 字是三个字节,古埃及语 𓅱4个字节。

fn main() {
    let slice = "Hello!";
    println!("Slice is {} bytes.", slice.len());
    let slice2 = "안녕!"; // Korean for "hi"
    println!("Slice2 is {} bytes.", slice2.len());
}

slice的长度为六个字符和六个字节,而slice2的长度为三个字符和七个字节。char需要以任何语言适合任何字符,因此它是4个字节长。如果 .len() 以字节为单位提供大小,那么以字符为单位的大小呢?稍后我们将学习这些方法,但是您只需记住 .chars().count() 即可完成。

fn main() {
    let slice = "Hello!";
    println!("Slice is {} characters.", slice.chars().count());
    let slice2 = "안녕!";
    println!("Slice2 is {} characters.", slice2.chars().count());
}

Slice is 6 characters.
Slice2 is 3 characters.
下一页