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

郑州上街区网站建设公司品牌展示型网站源码

郑州上街区网站建设公司,品牌展示型网站源码,dw网站开发与设计实训总结,昆明凡科建站公司一:结构体定义 定义结构体,需要使用 struct 关键字并为整个结构体提供一个名字。结构体的名字需要描述它所组合的数据的意义。接着,在大括号中,定义每一部分数据的名字和类型,我们称为 字段(field&#xf…

一:结构体定义

定义结构体,需要使用 struct 关键字并为整个结构体提供一个名字。结构体的名字需要描述它所组合的数据的意义。接着,在大括号中,定义每一部分数据的名字和类型,我们称为 字段field

struct User {active: bool,username: String,email: String,sign_in_count: u64,
}

二:结构体实例化

1,常规结构体赋值

下面创建一个结构体实例,并初始化以及给结构体字段赋值

fn main() {let mut user1 = User {email: String::from("someone@example.com"),username: String::from("someusername123"),active: true,sign_in_count: 1,};user1.email = String::from("anotheremail@example.com");
}

注意整个实例必须是可变的;Rust 并不允许只将某个字段标记为可变。另外需要注意同其他任何表达式一样,我们可以在函数体的最后一个表达式中构造一个结构体的新实例,来隐式地返回这个实例

fn build_user(email: String, username: String) -> User {User {email: email,username: username,active: true,sign_in_count: 1,}
}

2,结构体字段初始化简写语法

上面的函数里面结构体初始化有更简便的写法,参数名与字段名都完全相同,我们可以使用字段初始化的简写语法

fn build_user(email: String, username: String) -> User {User {email,username,active: true,sign_in_count: 1,}
}

这里我们创建了一个新的 User 结构体实例,它有一个叫做 email 的字段。我们想要将 email 字段的值设置为 build_user 函数 email 参数的值。因为 email 字段与 email 参数有着相同的名称,则只需编写 email 而不是 email: email

3,结构体更新语法

使用旧实例的大部分值但改变其部分值来创建一个新的结构体实例通常很有用。这可以通过结构体更新语法struct update syntax)实现。

fn main() {// --snip--let user2 = User {active: user1.active,username: user1.username,email: String::from("another@example.com"),sign_in_count: user1.sign_in_count,};
}

上面例子中user2只有一个字段与user1不同,其他的字段可以用user1来赋值,这样在字段少的情况下还可以,但是如果字段多,这样也很繁琐,Rust有更简单的赋值方式

fn main() {// --snip--let user2 = User {email: String::from("another@example.com"),..user1};
}

创建了一个新实例 user2,该实例具有不同的 email 值,但 username、 active 和 sign_in_count 字段的值与 user1 相同。..user1 必须放在最后,以指定其余的字段应从 user1 的相应字段中获取其值,但我们可以选择以任何顺序为任意字段指定值,而不用考虑结构体定义中字段的顺序。

在创建 user2 后不能再使用 user1,因为 user1 的 username 字段中的 String 被移到 user2 中。如果我们给 user2 的 email 和 username 都赋予新的 String 值,从而只使用 user1 的 active 和 sign_in_count 值,那么 user1 在创建 user2 后仍然有效。active 和 sign_in_count 的类型是实现 Copy trait 的类型

4,元组结构体

元组结构体有着结构体名称提供的含义,但没有具体的字段名,只有字段的类型。当你想给整个元组取一个名字,并使元组成为与其他元组不同的类型时,元组结构体是很有用的,这时像常规结构体那样为每个字段命名就显得多余和形式化了。

要定义元组结构体,以 struct 关键字和结构体名开头并后跟元组中的类型。例如,下面是两个分别叫做 Color 和 Point 元组结构体的定义和用法:

struct Color(i32, i32, i32);
struct Point(i32, i32, i32);fn main() {let black = Color(0, 0, 0);let origin = Point(0, 0, 0);
}

注意 black 和 origin 值的类型不同,因为它们是不同的元组结构体的实例。你定义的每一个结构体有其自己的类型,即使结构体中的字段有着相同的类型。例如,一个获取 Color 类型参数的函数不能接受 Point 作为参数,即便这两个类型都由三个 i32 值组成。在其他方面,元组结构体实例类似于元组:可以将其解构为单独的部分,也可以使用 . 后跟索引来访问单独的值,等等。


文章转载自:

http://uSMUHBxb.tfznk.cn
http://8hAsGzxT.tfznk.cn
http://FSaa8Ov2.tfznk.cn
http://PWM7LBw4.tfznk.cn
http://pWw8yXWu.tfznk.cn
http://unszH3tE.tfznk.cn
http://6KyMIop2.tfznk.cn
http://Hw9QHbQw.tfznk.cn
http://JB7GeipG.tfznk.cn
http://2s70BsSf.tfznk.cn
http://Vb4h5hrj.tfznk.cn
http://L0atSQsa.tfznk.cn
http://aFUPv8rV.tfznk.cn
http://7lPU6qaE.tfznk.cn
http://8s0gRyMN.tfznk.cn
http://j3eX8lnu.tfznk.cn
http://z0KrLWBJ.tfznk.cn
http://eI3bvL4W.tfznk.cn
http://E5EqaSfN.tfznk.cn
http://rYwBUiBn.tfznk.cn
http://7QyDc1sL.tfznk.cn
http://UtU3JDkf.tfznk.cn
http://de9J7rpz.tfznk.cn
http://0Tuvp7U3.tfznk.cn
http://8s6s8wWm.tfznk.cn
http://AwwWo6Mg.tfznk.cn
http://DLpQps9D.tfznk.cn
http://w1BTTJiC.tfznk.cn
http://vnfdRPnR.tfznk.cn
http://0v1rnZR4.tfznk.cn
http://www.dtcms.com/wzjs/644039.html

相关文章:

  • 临沂集团网站建设南宁seo标准
  • 网站根目录 设置新开传奇网站999
  • 怎么做货物收发的网站网页小游戏斗地主
  • 手机建站平台微点手赚网站建设运营知乎
  • 太原便宜做网站的公司为该网站做自适应
  • 一个公司可以做几个网站网站开通微信支付收费
  • 做网站需要学会些什么html教程 it教程网
  • 可以做片头的网站wordpress 代码详解
  • 浙江省城乡建设网站证件查询媒体吧软文平台
  • 服务器网站模板网站建设教程流程图
  • wordpress 网站播放器插件怎么免费做一个网站
  • 高要住房和城乡建设局网站自助网站建设哪家效益快
  • 江苏建发建设项目咨询有限公司网站台前做网站的公司
  • 电商网站 费用百度wordpress插件下载
  • 国家职业资格证书网站wordpress网页没法评论
  • 建站网站官方网站建设兼职合同
  • 购物网站建设与开发做一个公司网站
  • 爱站工具包的模块有哪些苏州市网站建设培训
  • 免费ppt成品网站深圳网站建设制作公司
  • 福田网站优化seo课程培训中心
  • 关于化妆品的网页设计网站seo设计
  • 商城平台网站开发深圳绵阳网站托管
  • 网站页面设计网页说明安卓系统
  • 网站开发税率多少钱河南省建设部官方网站
  • 精仿源码社区网站源码谷歌seo工具
  • 怎么做网站广告位android最新版本
  • 网站建设中 模板下载成都 网站设计
  • 怎么做兼职网站吗做外贸常用那几个网站
  • 刷赞抖音推广网站个人简历模板下载 免费完整版
  • 餐饮企业网站模板十大教育培训机构排名