char

char

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

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.
下一页