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

【07】trait特性

文章目录

  • Trait
    • 为类型实现trait
    • 为trait提供默认实现
    • 使用trait作为参数
      • trait bound
    • 使用trait作为返回值

Trait

感觉可以类比C++中父类的虚函数

类似其他语言中的接口,定义了某个特定类型与其他特定类型共享的功能。

为类型实现trait

trait的实现需要满足 trait与类型至少有一个在当前crate中。是为了防止外部代码破坏crate。

  • 给已有类型添加trait
  • 给新类型添加trait实现
// 定义trait
pub trait Summary {fn summarize(&self) ->String;
}// 具体数据类型
pub strcut NewArticle {pub headline: String,pub location: String,pub author: String,pub content: String,
}
// 将trait引入具体类型
impl Summary for NewArticle {fn summarize(&self) -> String {format!("{}, by {} ({})", self.headline, self.author, self.location)}
}


http://www.mrgr.cn/news/90632.html

相关文章:

  • Navicat 迁移数据库 传输数据
  • 编码集的作用是什么?常见的编码集有什么?为什么常用utf-8?
  • Http connect timed out
  • PyTorch Lightning LightningDataModule 介绍
  • Vue.js 实现树形结构管理系统的前端设计与实现
  • Wiki文档转换为Word技术
  • 综合与时序分析的设计约束(4)—— 异常
  • ARM64 Trust Firmware [一]
  • 编码格式大全解释以及相关编码特性
  • LTSPICE仿真电路:(二十三)单端信号转差分信号的简单仿真
  • MybatisPlus常用增删改查
  • springcloud集成gateway
  • (Windows | Linux)ssh访问服务器报错:no matching key exchange method found
  • #渗透测试#批量漏洞挖掘#Crocus系统—Download 文件读取
  • 用于处理元素的全屏显示和退出全屏操作--useFullScreen
  • React进阶之React核心源码解析(一)
  • 【CXX】0 Rust与C ++的互操作利器:CXX库介绍与示例
  • 【Linux】Ubuntu Linux 系统——Python集成开发环境
  • C语言中printf()函数,格式输出符
  • C++ ——基础进阶
  • Spring Boot整合DeepSeek实现AI对话(API调用和本地部署)
  • 2025-2-13-4.5 二分法(基础题)
  • 文字转语音(三)FreeTTS实现
  • macOS部署DeepSeek-r1
  • 使用HX搭建UNI-APP云开发项目(适合新手小白与想学云开发的宝子)
  • 【FastAPI 使用FastAPI和uvicorn来同时运行HTTP和HTTPS的Python应用程序】