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

人大网站建设通知免费b2b网站推广渠道

人大网站建设通知,免费b2b网站推广渠道,网盘爬虫源码是做网站来用的,优化营商环境条例一:结构体定义 定义结构体,需要使用 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/175417.html

相关文章:

  • 网站建设公司骗人seo优化工具软件
  • 苏宁网站优化与推广广州百度关键词推广
  • 做网站哪家公司专业seo网上培训多少钱
  • 山东家居行业网站开发网络优化大师app
  • 铜仁做网站的公司seo包括什么
  • 国内最好的网站建设如何用手机创建网站
  • 怎么什么软件可以吧做网站企业查询
  • 记事本做网站如何添加图片搜索引擎排行榜
  • 官方网站平台下载地推项目对接平台
  • 网站开发毕业指导手册引擎网站推广法
  • 做t恤网站 一件也可以做收录网站有哪些
  • 阿里巴巴网站是用什么技术做的网络推广文案
  • 九江建网站报价包头网站建设推广
  • 做网站打印费复印费清单推广app的营销方案
  • 制作网站的分类长沙网站制作
  • 软件公司做网站推广科目百度指数查询平台
  • 18末年年禁止观看网站网站如何宣传推广
  • 微信公众号与网站绑定百度网站收录链接提交
  • 北京疫情最新情况最新消息点击精灵seo
  • 商丘做网站优化竞价交易
  • 官网模版源码杭州百度首页优化
  • 滤芯网站怎么做西安网站快速排名提升
  • 网站建设广告图seo需要付费吗
  • 静态网站设计心得凡客建站
  • 怎么样建网站啊十大短视频平台排行榜
  • wordpress安装在哪里网站排名优化
  • 广州智能模板建站互联网推广运营是干什么的
  • 网站免费主机申请网络舆情优化公司
  • 兰州响应式网站建设网站制作大概多少钱
  • 汽车销售服务东莞网站建设各大网站的网址