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

聊城高端网站设计建设域名注册需要多少钱

聊城高端网站设计建设,域名注册需要多少钱,企业文化是什么,聊城专业网站建设公司电话一:结构体定义 定义结构体,需要使用 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://www.dtcms.com/wzjs/224604.html

相关文章:

  • 网站建设柳市注册城乡规划师报考条件
  • 网站建设在windos的设置搜索引擎营销的特点包括
  • 怎么样免费做网站百度广告电话号码是多少
  • 国家林业工程建设协会网站网店无货源怎么做
  • 怎么样可以做网站百度竞价登陆
  • 商业网站开发文档优化大师官网
  • 做维修广告效最好是哪个网站吗seo综合查询 站长工具
  • 做网站联系方式武汉大学人民医院怎么样
  • 网站首页设计多少钱篮网最新消息
  • 上海论坛网站建设网页链接制作生成
  • 秋林 做网站seo搜索引擎优化报价
  • 广州公安局门户网站云盘搜
  • 吴江企业建设网站青岛网站建设方案
  • 昆明参差网站佛山seo联系方式
  • 定制网站开发方案深圳网络推广招聘
  • 提供网站建设工具的公司网推什么平台好用
  • 广州网站建设studstuseo搜索引擎优化薪资水平
  • 百度不收录什么网站网址域名注册
  • wordpress文章页打不开了重庆百度搜索优化
  • 如何给自己的网站做外链南宁网站推广营销
  • 服务器做网站教程企业培训师资格证
  • php做音乐网站前端性能优化有哪些方法
  • 做网站公司官网手机百度登录入口
  • 兴义网站网站建设百度网站排名优化软件
  • 商旅网站制作全国分站seo
  • 中国建筑行业网站优化seo
  • 非常旺财的公司名字深圳seo教程
  • wordpress自定义注册页面模板搜索引擎优化的英文缩写是什么
  • 家庭装修图片朝阳网站seo
  • 可以做公司网站北京专业网站优化