MST

星途 面试题库

面试题:Rust中获取字符串长度的不同方式及性能差异

在Rust中,有哪些常见的方式可以获取字符串的长度?请分别列举,并阐述不同方式在性能上可能存在的差异。
15.1万 热度难度
编程语言Rust

知识考点

AI 面试

面试题答案

一键面试

在Rust中,获取字符串长度常见方式如下:

1. 使用len方法

对于&str类型:

let s = "hello";
let length = s.len();

对于String类型:

let s = String::from("hello");
let length = s.len();

性能len方法时间复杂度为O(1),因为Rust中的字符串是UTF-8编码,len返回的是底层字节数,获取这个值不需要遍历整个字符串。

2. 使用chars方法统计字符数量

let s = "你好,世界";
let char_count = s.chars().count();

性能:这种方式时间复杂度为O(n),因为chars方法会对字符串进行遍历,将UTF - 8编码解码为一个个Unicode标量值(字符),然后统计数量。