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

网格搜索优化青岛百度快速优化排名

网格搜索优化,青岛百度快速优化排名,网站连接速度测试,网站建设与维护协议格式及语法 在其他很多编程语言中,有类(Class)的存在,在Rust中,我们没有类(Class)的概念,我们使用结构体(Struct)。 与一个结构体相关的有以下几个部分: 数据字段方法关联函数 声明一个结构体及其字段的格式如下&am…

格式及语法

在其他很多编程语言中,有类(Class)的存在,在Rust中,我们没有类(Class)的概念,我们使用结构体(Struct)。
与一个结构体相关的有以下几个部分:

  • 数据字段
  • 方法
  • 关联函数

声明一个结构体及其字段的格式如下:

pub struct RedFox {enemy: bool,life: u8,
}

struct关键词开头,后面紧跟结构体的名称(以大写字母开头的驼峰式命名),大括号中是结构体的数据字段,每个字段由字段名称及它的类型声明组成, 字段间用,分隔。

最后一个字段后面也可以加上,, 并且我们推荐大家这样做,以防在以后添加新字段时忘记在前面的字段后添加,

正如我们在前面的章节中提到的, Rust中的函数默认都是私有的,结构体也是一样, 如果想在别的模块中使用结构体,需要加上pub标识:

pub struct RedFox {enemy: bool,life: u8,
}

结构体的字段默认也是私有的,默认只能在结构体被定义的模块内被访问, 如果想在结构体被定义的模块之外访问结构体的字段,则需要将该字段也标识成pub:

pub struct RedFox {pub enemy: bool,life: u8,
}

结构体的数据字段本身也可以是一个结构体:

pub struct RedFox {enemy: bool,life: u8,profile: Profile,
}struct Profile {name: String,age: u8,
}

结构体关联函数与方法

实例化一个结构体时,我们需要为这个结构体的每个字段都指定一个值。 一般来说,我们会为结构体实现一个关联函数,作为结构体的构造函数来创建一个具有默认值的结构体实例:

struct RedFox {enemy: bool,life: u8,
}impl RedFox {fn new() -> Self {Self {enemy: true,life: 70,}}
}

结构体的方法和关联函数在一个叫impl的代码块中实现,与结构体的定义是不同的代码块。这个代码块以impl开头, 后面紧跟结构体的名称, 然后在其后的大括号中, 实现结构体的方法和关联函数。

上述代码中的fn new() -> Self被称为结构体的关联函数,因为它没有使用self&self作为其第一个参数。 这样的函数在一些其他语言(如Python)中被称为类方法,可以直接通过类名而不是类的实例调用。

在Rust中, new函数是我们约定俗成的一个关联函数,用于创建一个具有默认值的结构体实例。在结构体的方法或关联函数中, 首字母大写的Self等价于结构体的名称本身, 因此上面的关联函数也可以这样写:

impl RedFox {fn new() -> RedFox {RedFox {enemy: true,life: 70,}}
}

但我们更推荐使用Self

结构体方法也是在impl代码块中进行实现的, 与关联函数不同的是,结构体方法总是以self&self&mut self作为第一个参数。

impl RedFox {// 关联函数fn function() ...// 方法fn move(self) ...fn borrow(&self) ...fn mut_borrow(&mut self) ...
}

关联函数可以直接通过结构体名称调用, 而方法只能通过结构体的示例调用。

实例化结构体

let fox = RedFox::new();

上面的代码会创建一个具有默认值的RedFox结构体。注意Rust中的作用域操作符是::, 我们使用它来访问类似命名空间中的部分内容。例如在前面的章节中, 我们在use语句中也使用了::来访问模块中的函数。在这个例子中,我们则是使用::来访问一个结构体的关联函数。

一旦我们有了一个实例,我们就能像在大多数语言一样,通过这个实例,使用.操作符来获取或设置特定字段的值,或者调用方法。

let fox = RedFox::new();
let life_left = fox.life;
fox.enemy = false;
fox.some_method();

小结

本章我们介绍了Rust中的结构体的定义及其关联函数与方法的使用,下一章将介绍Rust中另一个非常重要的概念, Trait。

http://www.hrbkazy.com/news/31155.html

相关文章:

  • 玩弄已婚熟妇做爰网站seo优化前景
  • 网站建设项目管理论文百度经验官方网站登录入口
  • 东莞网络建站专业搜索引擎seo服务
  • 福州培训网站建设重庆seo排名方法
  • 网站建设教案百度搜索风云榜排名
  • 做网站赌博代理赚钱吗营销型网站开发公司
  • wordpress 跳转链接成都百度推广排名优化
  • 局域网网站开发软件阿里指数
  • 怎么做下载类的网站网站广告调词平台
  • 南京网站开发南京乐识权威站长素材免费下载
  • 网站显示乱码怎么办聊城优化seo
  • 佛山网站建设价格关键词seo排名优化推荐
  • 网站推广的软件网站服务器查询工具
  • 常熟市住房和城乡建设局网站网站推广优化方式
  • 响应式网站建设公司网络推广项目计划书
  • 手机免费做网站上海优质网站seo有哪些
  • 智慧党建网站开发百度平台商家我的订单查询
  • 科技医疗网站建设上海外包seo
  • 做包装找灵感看什么网站合肥seo关键词排名
  • app推广渠道有哪些南京seo排名优化公司
  • 山东网站建设系统网络营销师资格证报名
  • wordpress页面分享企业网站的优化建议
  • 网站备案号查电话号码百度的网址是什么
  • 网站建设销售提成海口百度seo公司
  • 织梦网站怎么做seo网络营销推广的优势
  • nodejs 如何做网站后端下载优化大师
  • 分析网站建设流程宣传推广的形式有哪些
  • 网站开发设计方案搜外seo视频 网络营销免费视频课程
  • 网站开发如何做下载支付房产网站建设
  • 开游戏工作室被公安查了赣州seo排名