我想执行一个非常简单的任务,但我无法阻止编译器抱怨.
fn transform(s: String) -> String {
let bytes = s.as_bytes();
format!("{}/{}", bytes[0..2], bytes[2..4])
}
Run Code Online (Sandbox Code Playgroud)
[u8] 在编译时没有已知的常量.
一些提示使此操作按预期工作?
实际上,[u8]在编译时不知道a的大小.&[u8]然而,大小在编译时是已知的,因为它只是一个指针加上usize表示序列长度的a .
format!("{:?}/{:?}", &bytes[0..2], &bytes[2..4])
Run Code Online (Sandbox Code Playgroud)
Rust字符串以utf-8编码,因此以这种方式处理字符串通常是个坏主意,因为单个unicode字符可能包含多个字节.
| 归档时间: |
|
| 查看次数: |
101 次 |
| 最近记录: |