在枚举类型中存储impl Fn可以通过使用泛型参数和trait对象来实现。具体步骤如下:
enum EnumWithFn<F> {
Variant1(F),
Variant2(F),
// ...
}
impl<F> EnumWithFn<F> {
fn call(&self, arg: i32) {
match self {
EnumWithFn::Variant1(f) => f(arg),
EnumWithFn::Variant2(f) => f(arg),
// ...
}
}
}
let enum_value = EnumWithFn::Variant1(|x| println!("Variant1: {}", x));
enum_value.call(42);
这样,就可以在枚举类型中存储impl Fn,并通过调用相应的方法来执行闭包。
对于腾讯云相关产品和产品介绍链接地址,由于要求不能提及具体的云计算品牌商,无法提供相关链接。但是,腾讯云提供了丰富的云计算服务,包括云服务器、云数据库、云存储等,可以根据具体需求选择适合的产品。
领取专属 10元无门槛券
手把手带您无忧上云