[易学易懂系列|rustlang语言|零基础|快速入门|(13)|Generics泛型]
2024-09-01 20:19:11
[易学易懂系列|rustlang语言|零基础|快速入门|(13)]
有意思的基础知识
Generics泛型
我们今天来看看泛型。
什么是泛型?
我们来看看这样的情景:
我们要写一个函数,这个函数可以处理不同类型的值,但这个值的类型,在运行时,才由调用者确定。
我们不可能在函数方法中,一开始就写死。
那要什么办?
用泛型。
比如:用x : T替换x : u8
我们来看看例子:
泛型函数:
fn takes_anything<T>(x: T) { // x has type T, T is a generic type
}
fn takes_two_of_the_same_things<T>(x: T, y: T) { // Both x and y has the same type
}
fn takes_two_things<T, U>(x: T, y: U) { // Multiple types
}
泛型结构体:
struct Point<T> {
x: T,
y: T,
}
fn main() {
let point_a = Point { x: 0, y: 0 }; // T is a int type
let point_b = Point { x: 0.0, y: 0.0 }; // T is a float type
}
//
最新文章
- Linux(Unix)时钟同步ntpd服务配置方法
- Linux tricks
- CI,从数据库读取数据
- Windows 8.1 Enterprise 下 安装 Eclipse 官方中文包后无法输入任何内容
- oracle 语句创建表空间、用户、授权
- FastReport产品介绍及免费下载地址
- 剑指Offer33 第一个只出现一次的字符
- Umbraco扩展开发
- iOS 导航条的影响
- django1.6.x(python3.3)使用pymysql连接mysql
- JS-运动基础(一)
- [转载] A successful Git branching model/GIT分支管理是一门艺术
- 我的 FPGA 学习历程(12)—— 电子钟项目准备
- TP5.x——多数据库连接查询
- hibernate框架学习之数据抓取(加载)策略helloworld
- java web (sevlet)请求之get,post,forward,redirect
- 剑指offer(64)滑动窗口中的最大值
- 面向对象数据库(Object Oriented Databases)
- android studio 设置安装不占用C盘
- 前端框架VUE----babel
热门文章