泛型 – 带有泛型参数的to_string

我有以下泛型函数,现在想要将任何给定类型转换为字符串.

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();
}
点赞