我有以下通用函数,现在希望将任何给定类型(如果可能)转换为字符串。
fn write_row<T>(row: T) {
let s: String = row.to_string();
}
Run Code Online (Sandbox Code Playgroud)
但这显然行不通,因为 to_string 没有为类型 T 实现。
所以我的问题是如何检查参数的类型,然后在需要时应用 to_string 以及如何告诉编译器我现在知道该变量是已定义的类型?
您可以告诉编译器T必须实现ToString如下特征:
use std::string::ToString;
fn write_row<T: ToString>(row: T) {
let s: String = row.to_string();
}
Run Code Online (Sandbox Code Playgroud)