带有泛型参数的to_string

时间:2015-05-29 23:36:51

标签: generics rust

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

fn write_row<T>(row: T) {
    let s: String = row.to_string();
}

但这显然不起作用,因为没有为类型T实现to_string。

所以我的问题是我如何检查参数的类型然后在需要时应用to_string,如何告诉编译器我现在知道变量是定义的类型?

1 个答案:

答案 0 :(得分:2)

您可以告诉编译器T必须实现ToString这样的特性:

use std::string::ToString;

fn write_row<T: ToString>(row: T) {
    let s: String = row.to_string();
}