首页 > 解决方案 > 如何使用任意类型作为函数参数?

问题描述

我正在尝试编写一个通用函数来获取任何类型向量中的随机元素。如何指定任意向量类型?

例如:

let list1: Vec<u32> = vec![1, 2, 3];
let list2: Vec<&str> = vec!["foo", "bar"];

fn print_a_random_element(a_list: Vec<?????>) {
    // do some stuff
}

print_a_random_element(list1); // get error
print_a_random_element(list2); // get error

标签: functionrustarguments

解决方案


特定于函数的泛型类型使用<>函数定义上的语法声明:

fn print_a_random_element<T>(a_list: Vec<T>) {
    // do some stuff
}

也可以看看:


推荐阅读