当它只是一个堆栈分配的字符串时,这并不完全正确。一个字符串切片(&str)在概念上由两部分构成:1. 指向字符串开头的指针。 2. 字符串中的字节数。指针可能引用堆栈、堆甚至常量程序数据上的数据。它被称为字符串切片,因为它与常规切片(&[T])相似,都是相同的两个部分:指针和长度。在底层,字符串是u8的切片(&[u8]),但它有一个非常重要的保证:字节序列是有效的UTF-8。请注意,您可以获取某些东西的“整个子字符串”或“整个切片”,它不一定是严格较小的。例如:let test_scores = [0, 10, 100]; let all_scores = &test_scores[..]; // or &test_scores[0..3] let some_scores = &test_scores[0..1];