用泛型实现rust返回类型自动推导
来源:互联网 发布:垃圾桶 知乎 编辑:程序博客网 时间:2024/06/06 19:12
rust用泛型可以根据后续的类型提示自动选择返回值类型
#[derive(Debug)]struct Foo(i32);#[derive(Debug)]struct FooBar(i32,i32);trait New{ fn new(i:i32)->Self;}impl New for Foo{ fn new(i:i32)->Foo{ Foo(i) }}impl New for FooBar{ fn new(i:i32)->FooBar{ FooBar(i,i+10) }}struct Bar;impl Bar{ fn bar<T:New>(&self,i:i32)->T{ T::new(i) }}fn bar2<T:New>(i:i32)->T{ T::new(i)}fn main() { let b = Bar; //b.bar(1)返回的类型根据f1的类型提示自动选择 let f1:Foo = b.bar(1); println!("{:?}",f1); let fb:FooBar = b.bar(2); println!("{:?}",fb); let f2:Foo = bar2(10); println!("{:?}",f2); let fb2:FooBar = b.bar(20); println!("{:?}",fb2);}
Play上可以运行:http://is.gd/0MhxhU
运行结果:
Foo(1)FooBar(2, 12)Foo(10)FooBar(20, 30)
0 0
- 用泛型实现rust返回类型自动推导
- C++14尝鲜:函数返回类型自动推导
- 模板以及类型自动推导
- C++14返回值自动推导
- Modern C++(一)auto自动类型推导
- C++11 auto自动类型推导
- C++以auto完成类型自动推导
- C++11:类型推导和追踪函数返回类型decltype
- 初窥C++11:自动类型推导与类型获取
- Rust 基本类型
- go语言自动推导类型不能放在函数外
- [C++11/14] 自动类型推导——auto
- C++ 11 学习1:类型自动推导 auto和decltype
- CfileDialog不能依据选择的filter类型自动推导扩展名
- Rust : 为某类特定类型(实现了某个trait)加上 自定义trait
- BNF范式 如何用C++实现自动推导
- 自动返回顶部的实现
- C++14学习笔记(2)——函数返回类型推导
- php 分页操作(一)
- js 删除对象中的键值对
- win8 64bit下srilm+cygwin实现ngram语言模型
- 设计模式六大原则
- 控制上实现的连连看
- 用泛型实现rust返回类型自动推导
- Linux文本编辑器Vim
- poj 1001 Exponentiation
- 黑马程序员——集合——Collection和单列集合List
- PAT Basic level practice 06
- selenium测试框架篇,页面对象和元素对象的管理
- 一个简易版的新闻应用(同时兼容手机和平板)
- 浅谈你对面向对象编程的认识
- 图解 android studio 如何添加 jar 文件