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

公司网站建设 费用网络营销效果评估

公司网站建设 费用,网络营销效果评估,澳门网站维护骗局,怎么在网站做视频接口31.结构体申明 结构体在这里给了三种声明样式 (1)字典样式的键值对(使用花括号) (2)元组样式的数值元组(使用圆括号) (3)空结构体,可以被格式化输出名字 // structs1.rs // Address all the TODOs to make the tests pass! // Execute rustlings hint structs1 or use the…

31.结构体申明

结构体在这里给了三种声明样式

(1)字典样式的键值对(使用花括号)

(2)元组样式的数值元组(使用圆括号)

(3)空结构体,可以被格式化输出名字

// structs1.rs
// Address all the TODOs to make the tests pass!
// Execute `rustlings hint structs1` or use the `hint` watch subcommand for a hint.// I AM NOT DONEstruct ColorClassicStruct {// TODO: Something goes herered:u8,green:u8,blue:u8,
}struct ColorTupleStruct(u8,u8,u8);#[derive(Debug)]
struct UnitLikeStruct;#[cfg(test)]
mod tests {use super::*;#[test]fn classic_c_structs() {// TODO: Instantiate a classic c struct!let green =ColorClassicStruct{red:0,green:255,blue:0};assert_eq!(green.red, 0);assert_eq!(green.green, 255);assert_eq!(green.blue, 0);}#[test]fn tuple_structs() {// TODO: Instantiate a tuple struct!let green =ColorTupleStruct(0,255,0);assert_eq!(green.0, 0);assert_eq!(green.1, 255);assert_eq!(green.2, 0);}#[test]fn unit_structs() {// TODO: Instantiate a unit-like struct!let unit_like_struct =UnitLikeStruct;let message = format!("{:?}s are fun!", unit_like_struct);assert_eq!(message, "UnitLikeStructs are fun!");}
}

32.结构体的解包

我们可以在一个结构体实例里面使用..otherStruct来对otherStruct里面未被定义的变量原封不动解包到该结构体实例里面

// structs2.rs
// Address all the TODOs to make the tests pass!
// Execute `rustlings hint structs2` or use the `hint` watch subcommand for a hint.// I AM NOT DONE#[derive(Debug)]
struct Order {name: String,year: u32,made_by_phone: bool,made_by_mobile: bool,made_by_email: bool,item_number: u32,count: u32,
}fn create_order_template() -> Order {Order {name: String::from("Bob"),year: 2019,made_by_phone: false,made_by_mobile: false,made_by_email: true,item_number: 123,count: 0,}
}#[cfg(test)]
mod tests {use super::*;#[test]fn your_order() {let order_template = create_order_template();// TODO: Create your own order using the update syntax and template above!let your_order = Order{name: String::from("Hacker in Rust"),count:1,..order_template};assert_eq!(your_order.name, "Hacker in Rust");assert_eq!(your_order.year, order_template.year);assert_eq!(your_order.made_by_phone, order_template.made_by_phone);assert_eq!(your_order.made_by_mobile, order_template.made_by_mobile);assert_eq!(your_order.made_by_email, order_template.made_by_email);assert_eq!(your_order.item_number, order_template.item_number);assert_eq!(your_order.count, 1);}
}

33.类里面的方法除了当前区域内的变量,其他都要加self引用

// structs3.rs
// Structs contain data, but can also have logic. In this exercise we have
// defined the Package struct and we want to test some logic attached to it.
// Make the code compile and the tests pass!
// Execute `rustlings hint structs3` or use the `hint` watch subcommand for a hint.// I AM NOT DONE#[derive(Debug)]
struct Package {sender_country: String,recipient_country: String,weight_in_grams: i32,
}impl Package {fn new(sender_country: String, recipient_country: String, weight_in_grams: i32) -> Package {if weight_in_grams <= 0 {panic!("Can not ship a weightless package.")} else {Package {sender_country,recipient_country,weight_in_grams,}}}fn is_international(&self) -> bool {// Something goes here...return self.sender_country!=self.recipient_country}fn get_fees(&self, cents_per_gram: i32) -> i32 {// Something goes here...return cents_per_gram*self.weight_in_grams}
}#[cfg(test)]
mod tests {use super::*;#[test]#[should_panic]fn fail_creating_weightless_package() {let sender_country = String::from("Spain");let recipient_country = String::from("Austria");Package::new(sender_country, recipient_country, -2210);}#[test]fn create_international_package() {let sender_country = String::from("Spain");let recipient_country = String::from("Russia");let package = Package::new(sender_country, recipient_country, 1200);assert!(package.is_international());}#[test]fn create_local_package() {let sender_country = String::from("Canada");let recipient_country = sender_country.clone();let package = Package::new(sender_country, recipient_country, 1200);assert!(!package.is_international());}#[test]fn calculate_transport_fees() {let sender_country = String::from("Spain");let recipient_country = String::from("Spain");let cents_per_gram = 3;let package = Package::new(sender_country, recipient_country, 1500);assert_eq!(package.get_fees(cents_per_gram), 4500);assert_eq!(package.get_fees(cents_per_gram * 2), 9000);}
}

http://www.hengruixuexiao.com/news/28596.html

相关文章:

  • 企业网站建设开发注意事项东莞优化排名公司
  • 华为荣耀手机商城官方网站适合seo的网站
  • 做网站要费用多少营销策划书案例
  • 网站注册页面跳出怎么做网络推广工具有哪些
  • 公众号链接电影网站怎么做竞价推广账户竞价托管收费
  • 免费域名app官方下载站长工具seo综合查询可以访问
  • 做淘宝的网线可以浏览台湾网站吗徐州seo外包
  • 专门做网站seo推广方案
  • 网站在线支付百度免费seo
  • 在哪里可以做网站赚钱推广软文怎么写
  • 做网站前的准备简述seo的优化流程
  • 新疆生产建设兵团农四师网站站长工具权重查询
  • 做网站 简单外包进入百度搜索网站
  • seo百度发包工具网站seo优化网站
  • dede网站转移app地推接单平台有哪些
  • 定制版网站建设详细报价百度推广运营公司
  • 如企业网站模板下载网络营销策划方案框架
  • 扁平化色彩网站长沙seo网站优化
  • seo发外链网站广州网站建设正规公司
  • 属于公司的网站怎么做百度推广效果怎样一天费用
  • 做网站最下面写什么软件焊工培训班
  • 东营有做网站的公司成都关键词优化平台
  • wordpress免签插件优化排名推广关键词
  • ftp如何备份网站今天全国疫情最新消息
  • 哪个网站做兼职免费制作网站
  • 怎么在b2b网站上发信息让百度收录怎么做seo哪家强
  • 东莞市专注网站建设品牌百度竞价一个月5000够吗
  • 网站横幅怎做百度网站建设
  • 巢湖网站建设公司新网站快速收录
  • 深圳市做网站知名公司有哪些河南优化网站