我發現了很多方法來將字符串轉換爲& str。今天哪一個是正確的/慣用的?什麼是將字符串轉換爲&str的慣用方式?
let string = "hello".to_string();
let string_slice1 = &string[..];
let string_slice2: &str = &string;
let string_slice3 = &*string;
另外我想知道如何使#2方法的工作沒有在變量聲明中指定類型?像&string as &str
(但它不起作用)。我可以看到&字符串有&字符串類型,但是當它隱式轉換爲& str時,它將執行隱式轉換。如何使轉換明確?
但是,如果第二種形式不需要類型歸屬,即在可以推斷'&str'的上下文中,比如將參數傳遞給非泛型函數時,它就很好。 – delnan 2015-03-13 15:24:00