我有以下泛型函数,现在想要将任何给定类型转换为字符串.
fn write_row<T>(row: T) {
let s: String = row.to_string();
}
但这显然不起作用,因为没有为类型T实现to_string.
所以我的问题是如何检查参数的类型,然后在需要时应用to_string,如何告诉编译器我现在知道变量是定义的类型?
最佳答案 你可以告诉编译器T必须像这样实现
ToString
特征:
use std::string::ToString;
fn write_row<T: ToString>(row: T) {
let s: String = row.to_string();
}