当前位置: 首页 > news >正文

用照片做视频的网站好h5个人网站源码

用照片做视频的网站好,h5个人网站源码,内蒙古建设厅官网站,嘉峪关建设局网站标题 一、泛型数据的引入二、改写为泛型函数三、结构体/枚举中的泛型定义四、方法定义中的泛型 一、泛型数据的引入 下面是两个函数#xff0c;分别用来取得整型和符号型vector中的最大值 use std::fs::File;fn get_max_float_value_from_vector(src: [f64]) - f64… 标题 一、泛型数据的引入二、改写为泛型函数三、结构体/枚举中的泛型定义四、方法定义中的泛型 一、泛型数据的引入 下面是两个函数分别用来取得整型和符号型vector中的最大值 use std::fs::File;fn get_max_float_value_from_vector(src: [f64]) - f64{let mut max src[0];for item in src.iter(){if item max {max item;}}max }fn get_max_int_value_from_vector(src: [i32]) - i32{let mut max src[0];for item in src.iter(){if item max {max item;}}max } fn main() {let x vec![12, 21, 78, 56, 77];let y vec![11.5, 100.3, 1.0, 90.1];println!(max x: {}, get_max_int_value_from_vector(x)); //max x: 78println!(max y: {}, get_max_float_value_from_vector(y)); //max y: 100.3 }只看函数内容两个函数完成相同不同的地方在于函数名、返回值和参数返回值和参数又具有很大的关联性这就造成了函数冗余 二、改写为泛型函数 函数get_max_int_value_from_vector和get_max_float_value_from_vector完全可以改写成一个泛型函数如 fn get_max_value_from_vectorT(src: [T]) - T{}则代码变成 fn get_max_value_from_vectorT(src: [T]) - T{let mut max src[0];for item in src.iter(){if item max {max item;}}max } fn main() {let x vec![12, 21, 78, 56, 77];let y vec![11.5, 100.3, 1.0, 90.1];println!(max x: {}, get_max_value_from_vector(x)); //max x: 78println!(max y: {}, get_max_value_from_vector(y)); //max y: 100.3 }编译报错 解决方法在5.7 使用trait bounds修复get_max_value_from_vector的错误中进行。 三、结构体/枚举中的泛型定义 下面将坐标值的x,y都改成泛型 struct PointT{x: T,y: T, }enum OptionT {Some(T),None, }//两个泛型 enum ResultT, E {Ok(T),Err(E), }四、方法定义中的泛型 struct PointT{x: T,y: T, }implT PointT{fn x(self) - T{self.x} } fn main() {let p Point{x:5, y:10};println!(p.x {}, p.x()); //p.x 5 }在impl后面声明 T这样就可以在PointT上实现的方法中使用在impl后声明泛型T Rust 就知道Point的尖括号中的类型是泛型而不是具体类型 下面展示了一个没有在impl 之后没有尖括号声明泛型的例子这里使用了一个具体类型 impl Pointf32 {fn distance_from_origin(self) - f32 {(self.x.powi(2) self.y.powi(2)).sqrt()} }代码计算点实例与坐标 (0.0, 0.0) 之间的距离这段代码意味着Pointf32 类型会有一个方法distance_from_origin其他不是 f32 类型的PointT 实例则没有定义此方法 结构体定义中的泛型类型参数并不总是与结构体方法签名中使用的泛型是同一类型。 下例的结构体PointT, U 上定义了一个方法mixup。这个方法获取另一个 Point 作为参数而它可能与调用 mixup 的 self 是不同的 Point 类型。这个方法用 self 的 Point 类型的 x 值类型 T和参数的 Point 类型的 y 值类型 W来创建一个新 Point 类型的实例 struct PointT, U {x: T,y: U, }implT, U PointT, U {fn mixupV, W(self, other: PointV, W) - PointT, W {Point {x: self.x,y: other.y,}} }fn main() {let p1 Point { x: 5, y: 10.4 };let p2 Point { x: Hello, y: c};let p3 p1.mixup(p2);println!(p3.x {}, p3.y {}, p3.x, p3.y); // p3.x 5, p3.y c }p1是一个有 i32 类型的 x其值为 5和 f64 的 y其值为 10.4的 Pointp2则是一个有着字符串 slice 类型的 x其值为 “Hello”和 char 类型的 y其值为 c的 Point在p1上以 p2 作为参数调用 mixup 会返回一个 p3它会有一个 i32 类型的 xx 来自 p1并拥有一个 char 类型的 yy 来自 p2
http://www.hkea.cn/news/14594211/

相关文章:

  • 企业做网站有用吗百度网站下载安装
  • 淄博建网站多少钱随州网站制作价格
  • 网站页头设计个人注册公司的详细步骤
  • 织梦网站怎么做优化移动互联网技术网站
  • 设计图片网站作品设计方案怎么写
  • 网站托管服务 重庆网站内容页面怎么做
  • 免费个人网站建站申请流程外贸网站推广上海
  • 移动建站价格传统网站模版
  • 潍坊网站公司外贸营销型网站建设平台
  • 兰州网站建设企业名录宣传片制作app
  • 手机扁平化网站模版制作购物网站需要多少钱
  • 泰州公司做网站网站建设 李奥贝纳
  • 个人做网站接装修活哪个网站好三类安全员证查询系统
  • 周村网站制作首选公司wordpress免签
  • 网站关键字优化技巧peise网站
  • 邢台专业做移动网站自己开发的app软件怎么申请专利
  • 泰州网站制作方案定制张家港安监站网址
  • 蓝田县住房与城乡建设局网站ps做网站的效果图
  • 页面网站缓存如何做广东智能网站建设质量保障
  • 重庆在线长治网站seo
  • 宁波网站制作服务桂林生活网官网首页
  • 武平县网站建设华为云软件开发平台
  • 自己做网站需要填税表吗免费申请163邮箱
  • 网站项目如何做需求分析报告城乡建设网站证件查询系统
  • 查域名网站企业注册资金100万变更10万
  • 重庆专业网站搭建公司网页界面设计中表单的组成部分有哪些提示信息
  • 厦门网站优化服务网站要素
  • 网站优化怎么做效果才好网站优化比较好用的软件
  • wap网站制作教程高校网站建设规范
  • 郑州餐饮加盟网站建设购物商城平台开发