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

html5网站欣赏站长之家域名查询官网

html5网站欣赏,站长之家域名查询官网,正版网站设计制作,做网站维护需要懂什么第一反应,Rust结构体跟python的很像,不知道感觉对不对; 书中提到第一反应,Rust结构体跟python的很像,不知道感觉对不对; 书中提到:结构体是一种自定义数据类型,它允许命名多个相关的…

第一反应,Rust结构体跟python的很像,不知道感觉对不对;
书中提到第一反应,Rust结构体跟python的很像,不知道感觉对不对;
书中提到:结构体是一种自定义数据类型,它允许命名多个相关的值并将他们组成一个有机的结合体。

Rust中定义结构体的关键字是struct

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


上述就是定义的一个名字为User的结构体,这也能体现出一个结构体的好处(当然所有具备结构体的语言都有的好处),通过定义的名称可以明白每个字段的意义,比如这个结构体就是在描述一个“用户”的对象,包含了“用户名”、“邮箱”、“激活状态”等用户参数。当然结构体本身并不是一个对象,它更类似一个创建对象的模板,比如基于User结构体创建一个对象

let user1 = User {email:String::from("someone@email.cn"),username:String::from("username"),active:true,
}

上述user1就是一个使用User创建的对象(或者叫做实例)。
我们可以针对对象进行字段的修改,但是务必注意,在Rust中有mut参数表示是可修改的,上面的user1是不可修改的(Rust机制),如果需要修改就必须全部可修改,如下user2

let mut user2 = User {email:String::from("someone@email.cn"),username:String::from("username"),active:true,
}

还记得“mut”不?不记得可以往前看看。
这时user2所有的字段都可以修改了
修改方式为

user2.username = String::from("user2");

Rust结构体中有几个快捷用法(其他语言中也有类似的用法)

    1. 创建对象时,如果参数与结构体字段拥有完全一致的名称,可以按照如下方式简写;

let email = String::from("email");
let username = String::from("username");
let user3 = User {email,username,active:true,
}


    2. 还有一种方式就是快速继承另外一个对象的内容

let user4 = User {email: String::from("email"),..user3
};

相当于user4的参数除了email外都跟user3的一致。
    3. 还有一种简写的方式就是直接用元组定义,也称为“元组结构体”

struct Color(i32, i32, i32);
struct Point(i32, i32, i32);
let black = Color(0,0,0);

与C语言的结构体不同的是,Rust中的结构体可以包含方法,方法是被定义在结构体的上下文中,比如给User一个查看名字的方法

impl User {fn getname(&self) -> String {self.username}
}

定义了方法,通过实例后面加点号,并跟上方法名、括号及所需要的参数进行调用。

user1.getname();

拷贝原文内容,供大家参考:
结构体可以让我们基于特定领域创建有意义的自定义类型。通过使用结构体,你可以将相关联的数据组合起来,并为每条数据赋予名字,从而使代码变得更加清晰。方法可以让我们为结构体实例指定行为,而关联函数则可以将那些不需要实例的特定功能放置到结构体的命名空间中。

[1] 《Rust权威指南》01-2019-4420 第五章

http://www.dinnco.com/news/83742.html

相关文章:

  • 做网站公示免费的推广网站
  • 用ai做网站企业微信营销管理软件
  • wordpress wp-adminseo技术交流论坛
  • 招聘网站怎么做线下活动中国万网域名查询
  • 家装业务员怎么做网站营销免费二级域名生成网站
  • 个人可以做导航网站吗sem对seo的影响有哪些
  • 中文域名查询seo推广技术
  • 怎么做各类网站中国十大营销策划机构
  • 游戏网站风格湖南广告优化
  • 做网站建设怎么赚钱网店代运营收费
  • 网站建设要实现的目标进入百度知道首页
  • 网站建设实训教程seo教程seo优化
  • 网站产品预算昆明排名优化
  • 有没有网站专门做cnc招聘俄罗斯搜索引擎入口 yandex
  • 北京手机网站开发费用申请自媒体平台注册
  • 经营性网站备案怎么备案百度地图导航
  • 宁波网站制作好公司朋友圈广告代理商官网
  • 做快递单的网站会不会是骗人的百度推广图片
  • 东营seo网站建设费用全球网站排名查询
  • 专业武汉网站建设公司排名建网站用什么软件
  • 优质手机网站建设哪家好市场营销平台
  • wordpress文章分页共多少页广告优化师培训
  • 教人如何做吃的网站品牌宣传策略
  • 上海做网站的公司哪家好湖州网站seo
  • 长沙专业做网站公司湖南网站建站系统哪家好
  • 深圳有哪些知名企业360优化大师安卓版下载
  • 免费模板素材网站ppt网站软文代写
  • 用新华做网站名是否侵权湖南百度推广公司
  • 网站建设 硬件网页生成app
  • 做二手平台公益的网站上海seo有哪些公司