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

广东建设工程注册中心网站wordpress离线发布

广东建设工程注册中心网站,wordpress离线发布,一级消防工程师考试通过率多少,泰安工作招聘字符串和切片 切片 切片的作用是允许你引用集合中部分连续的元素序列#xff0c;而不是引用整个集合。 例如#xff1a; let s String::from(hello world);let hello s[0..5]; // 切片 [0,5) 等效于s[..5] let world s[6..11]; // 切片…字符串和切片 切片 切片的作用是允许你引用集合中部分连续的元素序列而不是引用整个集合。 例如 let s String::from(hello world);let hello s[0..5]; // 切片 [0,5) 等效于s[..5] let world s[6..11]; // 切片 [6,11) 等效于s[6..] // 完整的ss[..]注意方括号中的数字是字节如果字符是多字节的如汉字这时如果切片没有落在两个字符之间程序就会崩溃汉字是三个字节切片0-2就会崩溃 字符串的切片类型是 stri32数组的切片类型是 [i32] 这样一段代码let s Hello world!; s 是个切片类型实际上代码为let s: str Hello world! 字符串 Rust中字符是 Unicode 类型。内存占用 从1 - 4 个字节空间。 Rust中常用的字符串类型有 str / Stringstr硬编码不可变String可变。 // str -- String String::from(Hello world); hello world.to_string();// String -- str s;操作字符串 let mut s String::from(Hello ); // 追加字符串 s.push_str(rust); // 追加字符 s.push(!); // 插入字符 s.insert(5, ,); // 插入字符串 s.insert_str(6, I like);// 替换 // replace 适用于 String 和 str替换所有返回一个新字符串而不是操作原来的字符串 let new_string_replace string_replace.replace(rust, RUST); // replacen 适用于 String 和 str, 替换指定个数返回一个新字符串而不是操作原来的字符串 let new_string_replacen string_replace.replacen(rust, RUST, 1); // replace_range 适用于 String替换指定范围字符串操作原来的字符串 string_replace_range.replace_range(7..8, R);// 删除 // 均是操作原来的字符串 // pop 删除并返回最后一个字符 let p1 string_pop.pop(); // remove 删除并返回指定位置字符 string_remove.remove(0); // truncate 删除指定位置到结尾 string_truncate.truncate(3); // clear 清空字符串 string_clear.clear();// 连接 // 右面必须是字符串的切片引用类型相当于调用std::string add()返回一个新字符串 let result string_append string_rust; // format! let s format!({} {}!, s1, s2);遍历字符串 // 以 unicode 字符方式遍历字符串 for c in 中国人.chars() {println!({}, c); }元组 元组是由多种类型组合到一起形成的因此它是复合类型元组的长度是固定的元组中元素的顺序也是固定的。 fn main() {let tup: (i32, f64, u8) (500, 6.4, 1); }使用元组 fn main() {let tup (500, 6.4, 1);// 模式匹配let (x, y, z) tup;println!(The value of y is: {}, y);// .let five_hundred x.0;let six_point_four x.1;// 函数let s1 String::from(hello);let (s2, len) calculate_length(s1); }fn calculate_length(s: String) - (String, usize) {let length s.len(); // len() 返回字符串的长度(s, length) }结构体 使用 结构体的定义 struct User {active: bool,username: String,email: String,sign_in_count: u64, }结构体的创建和使用 // 每个都需要初始化顺序可以打乱 let mut user1 User {email: String::from(someoneexample.com),username: String::from(someusername123),active: true,sign_in_count: 1, };// 访问字段 // **必须要将结构体实例声明为可变的才能修改其中的字段Rust 不支持将某个结构体某个字段标记为可变。** user1.email String::from(anotheremailexample.com);// 简化创建 fn build_user(email: String, username: String) - User {User {email,username,active: true,sign_in_count: 1,} }// 更新 let user2 User {email: String::from(anotherexample.com),..user1 // 注意 username 发生了所有权转移不能再被user1使用 };内存排列 struct File {name: String,data: Vecu8, }内存结构 元组结构体 元组结构体的字段没有名称 struct Color(i32, i32, i32); struct Point(i32, i32, i32);let black Color(0, 0, 0); let origin Point(0, 0, 0);使用的使用可以直接用 x,y,z / r,g,b 单元结构体 单元结构体没有任何字段和属性 struct AlwaysEqual;let subject AlwaysEqual;// 我们不关心 AlwaysEqual 的字段数据只关心它的行为因此将它声明为单元结构体然后再为它实现某个特征 impl SomeTrait for AlwaysEqual {}结构体的所有权 如果你想在结构体中使用一个引用就必须加上生命周期否则就会报错 生命周期篇再写。 打印 使用 #[derive(Debug)] 来打印结构体信息。 println!({:?},struct); dbg!(struct); 也可以实现 Display 特征打印信息类似 toString() 方法 println!({},struct); 枚举 使用 可以向其他语言一样直接使用也可以为其关联数据信息 // enum PokerSuit { // Clubs, // Spades, // Diamonds, // Hearts, // }enum PokerCard {Clubs(u8),Spades(u8),Diamonds(u8),Hearts(u8), }fn main() {let c1 PokerCard::Spades(5);let c2 PokerCard::Diamonds(13); }更为复杂的 enum Message {Quit,Move { x: i32, y: i32 },Write(String),ChangeColor(i32, i32, i32), }fn main() {let m1 Message::Quit;let m2 Message::Move{x:1,y:1};let m3 Message::ChangeColor(255,255,0); }使用Option枚举处理空值 在rust中使用Option枚举来处理对象为空的情况null enum OptionT {Some(T),None, }使用的使用将值存入 SomeT 中这样在使用变量的时候因为不能直接使用 Option所以需要将值取出来再用。而取出来的时候需要判断值不是Option::None才能用相当于变相强制进行了判空操作放置了空指针异常。 数组 在Rust中有两种数组一种是长度固定吗速度快的 array一种是长度动态性能较低的 vector。 array存储在栈上vector存储在堆上。 array 使用 fn main() {// 1.定义// let a: [i32; 5] [1, 2, 3, 4, 5]; 声明类型let a [1, 2, 3, 4, 5];// 重复5个3let a [3; 5]; // 非基础元素// let array [String::from(rust is good!); 8]; × 不能深拷贝let array: [String; 8] std::array::from_fn(|i| String::from(rust is good!));// 2.访问let first a[0]; // 获取a数组第一个元素 }数组切片 创建切片的代价非常小因为切片只是针对底层数组的一个引用切片类型[T]拥有不固定的大小而切片引用类型[T]则具有固定的大小因为 Rust 很多时候都需要固定大小数据类型因此[T]更有用,str字符串切片也同理 let a: [i32; 5] [1, 2, 3, 4, 5];let slice: [i32] a[1..3]; // 引用assert_eq!(slice, [2, 3]);
http://www.yutouwan.com/news/104094/

相关文章:

  • 公司的网站如何编辑搜索引擎优化的概念是什么
  • 网站开发公司怎么选择成都解封公告
  • 慈溪网站制作中国招投标采购网官网
  • 网页不能运行wordpress优化wordpress访问速度
  • 实施网站推广的最终目的wordpress 需要zend
  • 商务网站建设心得体会免费咨询保险律师
  • ps做设计想接私活在什么网站织梦搬家 网站空白
  • 怎么用织梦修改建设一个新的网站3d建模在线制作网站
  • 网站开发的趋势wordpress文章归档页面
  • 重庆住房城乡建设部网站国企网站的建设
  • thinkphp官方网站搜索引擎营销ppt
  • 做网站的后台开发需要会些什么交友营销型网站
  • 在网站上放广告移动网站转换
  • 医疗今科云平台网站建设技术开发女子医院网站优化公司
  • 微网站页面菜单栏兴县网站建设
  • 绵阳网站建设开发基于php的电商网站开发
  • 烟台城乡建设学校96级给排水网站老旧小区改造国家最新政策
  • wordpress 整站模板手机网站背景图尺寸
  • 免费建企业网站哪个好他达拉非作用与功效
  • 渠道建设网站设计好的网站推荐
  • python django 做 网站网站用户体验度
  • 教育 网站模板wordpress 苏醒 cosy
  • 网站建设shzanenWordPress rss连接
  • 怎样看网站是什么语言做的网站模板是什么意思
  • 成都php网站建设工程师焦作集团网站建设
  • 九口袋网站建设百度推广费用
  • 山东省省建设厅网站杭州建德网站建设
  • 企业名录网站 优帮云软文营销的概念
  • 新密建设局网站微信小程序开发 成都
  • 广州专业做网站的公司滨州北京网站建设价格