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

用哪个软件做网站经销商城建站

用哪个软件做网站,经销商城建站,wordpress设置邮件注册,网站未建设的情况说明书标题 一、泛型数据的引入二、改写为泛型函数三、结构体/枚举中的泛型定义四、方法定义中的泛型 一、泛型数据的引入 下面是两个函数#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.ho-use.cn/article/10816671.html

相关文章:

  • 网站推广运作怎么做企业营销培训课程
  • 速橙科技有限公司网站建设网站建设与管理简答题
  • 做网站 指导安徽池州网站制作
  • 免费网站加速软件东营网站建设怎么建设
  • 网站建设最好的公司排名网站模板图
  • 漳州市住房和城乡建设局网站威海外贸建站
  • 绍兴市柯桥区建设局网站个人网站 备案 名称
  • 做网站要服务器和什么励志故事网站源码
  • 北京 成品网站无锡网站定制
  • 龙华建设局网站食品公司简介模板
  • 网站开发用户分析电商支付网站建设费进什么科目
  • 5118站长工具通过网站做国际贸易的成本
  • win7搭建网站服务器东莞培训网
  • 网站开发的图片做牛仔的时尚网站
  • 事业单位门户网站建设有网站源码怎么做网站
  • 南京网页网站制作美妆销售网站开发的目的
  • 游戏网站建设方案书网站开发销售提成
  • 网站建设总体规划包括哪些济南成之运维网络科技
  • 做的比较好的二手交易网站有哪些免费搭建个人网站的3种实用方法
  • 企业把网站关闭原因没有地址如何注册公司
  • 东莞企业网站建设多少钱湖州seo排名
  • 陕西省建设部官方网站网站建设应该学什么
  • 建设网站需求文档免费软件下载官方网站
  • 小创业公司网站怎么做企业网站推广的主要方法
  • 企业大型网站开发设计建站流程阿里做网站
  • 怎么让公司网站显示官网北京微网站建设设计服务
  • 福州网站建设公司哪个好威海建设集团网站
  • 网站建设 工作室做网站站长一年能赚多少钱
  • 网站pc端建设怎么做盗版电影网站吗
  • 厦门模板建站系统中国空间站朋友圈