这不是确切的用例,但它基本上是我想要做的:
let mut username = "John_Smith";
println!("original username: {}",username);
username.set_char_at(4,'.'); // <------------- The part I don't know how to do
println!("new username: {}",username);
Run Code Online (Sandbox Code Playgroud)
我无法弄清楚如何在恒定时间内执行此操作并且不使用额外空间.我知道我可以使用"替换",但替换是O(n).我可以制作角色的矢量,但这需要额外的空间.
我认为你可以创建另一个使用像as_mut_slice这样的指针变量,但这被认为是不安全的.有一种安全的方法可以在恒定的时间和空间中替换字符串中的字符吗?