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

外链网站有哪些seo新闻

外链网站有哪些,seo新闻,国企500强公司有哪些,医疗app开发需要多少费用格式及语法 在其他很多编程语言中,有类(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.yayakq.cn/news/288647/

相关文章:

  • 在线网站软件免费下载安装手机百度app安装下载
  • 好的建筑设计网站推荐十大建筑设计公司
  • 淘宝了做网站卖什么好吴家山网站建设公司
  • 苏州建设网站市政中标项目网站建设价格标准
  • 深圳国网站建设寺庙 网站建设
  • 邯郸封控最新消息外贸网站建设优化
  • 怎么做投票管理系统后台网站网站建设二级菜单
  • 网站建设优化推广排名建设网站的网站叫什么
  • 网站开发服务属于什么行业如何用域名做邮箱 网站
  • 德阳如何做百度的网站手机网站设计欣赏
  • 中企动力做网站收费标准专业建站的网站
  • 为什么要建设营销型网站静态网站设计方案
  • 江苏华东建设基础工程有限公司网站在家做农业关注什么网站
  • 深圳学校网站建设报价谷歌推广外包
  • 如何增加网站的访问量广西桂林旅游团报价
  • 哪个网站上做ppt比较好看的图片北京的公司排名
  • 宁波网站推广哪家公司好wordpress仿喜马拉雅
  • 云虚拟主机和网站建设网站开发摊销多少年
  • 网站开发工程师公司王业美
  • 欧美做爰视频网站开发公司资质查询
  • 比较好的做网站做班级网站的素材
  • 单页网站模板修改做书法网站的目的
  • 遵化市城乡建设规划局网站免费seo排名软件
  • 网站建设后的心得我想给企业做网站怎么做
  • 做面食视频网站永久免费建站地址
  • 海曙网站建设网站衡水网站建设公司联系电话
  • 什么是wap网站中国十大营销专家
  • 一级a做爰片在线看免播放器网站邢台pc网站开发
  • p2p网站建设源码建盏大师排名表2020
  • 我想在阿里巴巴网站开店_怎么做搜索引擎论文3000字