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

设计师浏览网站西安二手房

设计师浏览网站,西安二手房,三亚百度推广开户,装修采购网文章目录 Rust编程语言入门教程(三)-trait什么是 trait?trait使用举例 Rust编程语言入门教程(三)-trait 什么是 trait? trait 是 Rust 中的接口,它定义了类型使用这个接口的行为。你可以类比到…

文章目录

  • Rust编程语言入门教程(三)-trait
    • 什么是 trait?
    • trait使用举例

Rust编程语言入门教程(三)-trait

什么是 trait?

trait 是 Rust 中的接口,它定义了类型使用这个接口的行为。你可以类比到自己熟悉的语言中理解,trait 对于 Rust 而言,相当于 interface 之于 Java。

在开发复杂系统的时候,我们常常会强调接口和实现要分离。因为这是一种良好的设计习惯,它把调用者和实现者隔离开,双方只要按照接口开发,彼此就可以不受对方内部改动的影响。

trait 就是这样。它可以把数据结构中的行为单独抽取出来,使其可以在多个类型之间共享;也可以作为约束,在泛型编程中,限制参数化类型必须符合它规定的行为。

如果你把 trait 类比为父类,实现 trait 的类型类比为子类,那么缺省实现的方法就相当于子类中可以重载但不是必须重载的方法。

在 Rust 中,“trait” 是一个关键字,用于定义抽象的类型行为和方法集合。

trait使用举例

trait Printable {fn print(&self);
}struct Person {name: String,
}impl Printable for Person {fn print(&self) {println!("Person: {}", self.name);}
}struct Book {title: String,
}impl Printable for Book {fn print(&self) {println!("Book: {}", self.title);}
}fn main() {let person = Person { name: "Alice".to_string() };let book = Book { title: "Rust Programming".to_string() };person.print();book.print();
}

我们定义了一个 trait,名为 Printable,它定义了一个 print 方法。然后,我们为 Person 结构体和 Book 结构体分别实现了 Printable trait。

在 main 函数中,我们创建了一个 person 对象和一个 book 对象,并调用了它们的 print 方法。由于它们都实现了 Printable trait,因此可以以相同的方式调用 print 方法。

运行这个示例程序将会输出以下结果:

Person: Alice
Book: Rust Programming

在这个例子中,trait 提供了一种将不同类型统一对待的方式。通过实现相同的 trait,我们可以在代码中以一致的方式处理不同的类型,并共享相同的行为和方法。

http://www.yayakq.cn/news/990908/

相关文章:

  • 怎样修改网站的主页内容如何查看网站的空间
  • 临夏州住房和城乡建设厅网站大岭山网站仿做
  • php网站开发设计系统雄安哪里在建设
  • 网站优化专家18600119496家教网站怎么做
  • 俄罗斯网站后缀从化建设局网站关停
  • 免费优化网站减少wordpress响应时间
  • 网站建设的关键细节wordpress 宣布停止
  • 免费搭建私人网站金华东阳网站建设
  • 网站建设合同属于技术服务合同吗牛杂网这类网站怎么做的
  • 全包网站海口模板建站平台
  • 京东联盟怎么做CMS网站wordpress顶部广告怎么添加
  • 做短视频网站好简洁大气企业网站欣赏
  • 东莞建设一个网站大连做网站开发的公司
  • 旅游网站建设 pig手机网站的推广
  • 宁波网站优化找哪家昆明网站排名优化报价
  • 网站站内优化方法关于网站建设公司大全
  • 网站建设案例策划app软件开发
  • 网站怎么做一盘优化排名网站源码 和网站模板区别
  • 朝阳seo网站建设网站建设及推广文案
  • 南通网站排名方法政务网站建设工作计划结尾
  • wordpress网站下载文件wordpress logo
  • 建设电商网站的个人心得佛山网站建设排名
  • 广东网站搭建如何做wordpress文章页
  • 内蒙古建设安全监督站的网站智能网站推广优化
  • 网站首页制作网站wordpress主题导航调用
  • 爱站工具包官网下载wordpress缓存命中率
  • 你的网站尚未备案 根据高端品牌运动鞋
  • 网站源码和模板的区别163网易企业邮箱注册
  • 代码命名 网站wordpress 首页文件夹
  • 运城做网站电话佛山o2o网站建设