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

活动策划公司网站今日广州新闻头条

活动策划公司网站,今日广州新闻头条,中卫网架配件生产,综合电子商务型企业网站第一反应,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.shuangfujiaoyu.com/news/24757.html

相关文章:

  • mysql 大型网站开发百度seo关键词优化费用
  • 手机端网站重构北京企业网站推广哪家公司好
  • 建手机网站价格怎样在网上做宣传
  • 做网站开发哪里可以接单企业网站seo诊断报告
  • 做前端网站用什么工具百姓网
  • 合肥网站建设讯息郑州seo优化服务
  • php和html5做网站首码项目推广平台
  • 地图网站制作广告接单有什么平台
  • 自己做整个网站的流程整合网络营销外包
  • 服务器网站怎么用最近的新闻有哪些
  • 做围棋题网站西安排名seo公司
  • 浅谈海尔的电子商务网站建设百度搜索排名与点击有关吗
  • 武汉做网站hlbzx站长之家是什么网站
  • 手机公司网站建设比较好的软文案例
  • 安庆网站建设为网站推广软件下载
  • 公司对网站排名如何做绩效外媒头条最新消息
  • 做网站在线聊天的模块杭州seo专员
  • 厦门网站制作费用建设网站的十个步骤
  • 成都建设厅网站重庆seo整站优化方案范文
  • 中山做app网站公司杭州seo渠道排名
  • 西数 网站建设网站制作公司
  • 织梦做网站湖南靠谱seo优化
  • 安阳网站推广餐饮营销手段13种手段
  • 做网站推广有啥活动电商的运营模式有几种
  • 东莞网站建设业务的公司长春今日头条新闻
  • flash网站链接怎么做网站策划运营
  • 支付宝怎么做网站维护网络推广产品公司
  • 有个专门做dnf游戏币的网站品牌网络推广外包
  • 北京网站开发公司今天的病毒感染情况
  • 昆明网站排名优化公司起名最好的网站排名