to_string 具有通用参数

to_string with generic argument

我有以下通用函数,现在想尽可能将任何给定类型转换为字符串。

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

但这显然行不通,因为 to_string 没有为类型 T 实现。

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

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

use std::string::ToString;

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