str 是不可变的字符串;
String 是可变的字符串;
CStr 用于表示由C分配、rust借用的C字符串;
CString 用于表示由rust分配、可以传递给C函数使用的C字符串;
OsStr 平台相关的字符串,具体看 rust/os_str.rs at master · rust-lang/rust · GitHub;
OsString 这个是上面的可变版本;
Path 用来表示路径,方法和普通字符串不一样,当然独立出来;
PathBuf 这是Path的可变版本;
总之普通字符串就用str和String,路径就用Path和PathBuf,其他是ffi才需要用到的。算是挺清晰的设计。


评论


langzi.me 2018-03-29 04:48:14
挺不错的