8
爲了方便調用者,我想寫一個接受任何類型字符串(&str
/String
)的泛型函數。通用函數接受&str或移動字符串而不復制
該函數內部需要String
,所以如果調用者使用String
調用該函數,我還想避免不必要的重新分配。
foo("borrowed");
foo(format!("owned"));
接受有關的其他方式,我知道我可以使用foo<S: AsRef<str>>(s: S)
引用,但什麼?
我認爲基於ToOwned
可能工作一般的參數(適用於&str
,和我假設它是在String
無操作),但我想不出確切的語法。