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

php网页模板南宁seo

php网页模板,南宁seo,typora wordpress,桂林象鼻山的传说这篇博客是rust入门篇下 45. 生命周期注释 // 生命周期// 下面代码不能通过编译 // longer 函数取 s1 和 s2 两个字符串切片中较长的一个返回其引用值 // 返回值引用可能会返回过期的引用 // fn longer(s1: str, s2: str) - str { // if s2.len() str, s2: str) - str { // if s2.len() s1.len() { // s2 // } else { // s1 // } // }// 生命周期注释 // i32 // 常规引用 // a i32 // 含有生命周期注释的引用 // a mut i32 // 可变型含有生命周期注释的引用fn longera(s1:a str, s2:a str)-a str{if s2.len()s1.len(){s2} else {s1} }fn main(){let r;{let s1 rust;let s2 ecmascript;r longer(s1, s2);println!({} is longer, r);}}46. 生命周期2 结构体中使用字符串切片引用 // 结构体中使用字符串切片引用fn main(){struct Stra{content: a str}let s Str{content: string_slice};println!(s.content{}, s.content);}47. 泛型 特性 和 生命周期的综合例子 // 泛型、特性与生命周期 一起来use std::fmt::Display;fn longest_with_an_announcementa, T(x: a str, y: a str, ann: T)- a str where T: Display{println!(Announcement! {}, ann);if x.len() y.len(){x} else{y} }fn main(){let r longest_with_an_announcement(abcd, efg, hello);println!(longest {}, r); }48. 接收命令行参数 // 接收命令行参数fn main(){let args std::env::args();println!({:?}, args);// Args { inner: [target\\debug\\greeting.exe] }// 遍历for arg in args{// target\debug\greeting.exeprintln!({}, arg);}}49. 从命令行传入字符串 // 命令行输入输入一些字母 IO流 use std::io::stdin;fn main(){let mut str_buf String::new();// 从命令行输入一些字符stdin().read_line(mut str_buf).expect(failed to read line);println!(your input line is \n{}, str_buf);}50. 从文件读入 // 从文件读取字符 use std::fs;fn main(){let text fs::read_to_string(d:/hello.txt).unwrap();println!({}, text);}51. 读取文件 整个文件一次性读取 // 从文件读取字符 use std::fs;fn main(){let content fs::read(D:/text.txt).unwrap();println!({:?}, content);}52. IO流 // 流读取 use std::fs::{self, File}; use std::io::prelude::*;fn main(){let mut buffer [0u8; 5];let mut file fs::File::open(d:/text.txt).unwrap();file.read(mut buffer).unwrap();println!({:?}, buffer);file.read(mut buffer).unwrap();println!({:?}, buffer);}53. 文件写入 use std::fs;fn main(){// 文件写入fs::write(d:/text.txt, FROM RUST PROGRAM).unwrap(); }54. 文件末尾追加字符 use std::io::prelude::*; use std::fs::OpenOptions;fn main()-std::io::Result(){let mut file OpenOptions::new().append(true).open(d:/text.txt)?;file.write(b APPEND WORD);Ok(()) } 55. 读写方式打开文件 use std::io::prelude::*; use std::fs::OpenOptions;fn main()-std::io::Result(){let mut file OpenOptions::new().read(true).write(true).open(d:/text.txt)?;file.write(bCOVER)?;Ok(())} 56. 集合一 集合的创建 // 集合创建 fn main(){let vector: Veci32 Vec::new(); // 创建类型为 i32 的空向量let vector vec![1, 2, 4, 8]; // 通过数组创建向量} 57. 向集合添加元素 使用push添加元素 // push 添加 元素 fn main(){let mut vector vec![1, 2, 4, 8];vector.push(16);vector.push(32);vector.push(64);println!({:?}, vector);} 58. 在集合末尾添加一个集合 // append 添加集合 fn main(){let mut v1:Veci32 vec![1, 2, 4, 8];let mut v2:Veci32 vec![16, 32, 64];v1.append(mut v2);println!({:?}, v1);} 59. 集合遍历和取元素 fn main(){let mut v vec![1, 2, 4, 8];// 相对安全的取值方法println!({}, match v.get(0) {Some(value)value.to_string(),NoneNone.to_string()});// 下标取值let v vec![1, 2, 4, 8];println!({}, v[1]);// 遍历let v vec![100, 32, 57];for i in v{println!({}, i);}} 60. string字符串操作 fn main(){// 新建字符串let string String::new();// 基础类型转成字符串let ont 1.to_string();let float 1.3.to_string();let slice slice.to_string();// 包含 UTF-8 字符的字符串let hello String::from(السلام عليكم);let hello String::from(Dobrý den);let hello String::from(Hello);let hello String::from(שָׁלוֹם);let hello String::from(नमस्ते);let hello String::from(こんにちは);let hello String::from(안녕하세요);let hello String::from(你好);let hello String::from(Olá);let hello String::from(Здравствуйте);let hello String::from(Hola);// 字符串追加let mut s String::from(run);s.push_str(oob);s.push_str(!);// 拼接字符串let s1 String::from(Hello, );let s2 String::from(world!);let s3 s1 s2;// 使用format!宏let s1 String::from(tic);let s2 String::from(tac);let s3 String::from(toe);let s format!({}-{}-{}, s1, s2, s3);let s hello;let len s.len();// 中文字符长度let s 你好;let len s.len(); // 6 中文utf-8编码一个字长3个字节println!({}, len);// 中文字符正确长度let s 你好;let len s.chars().count(); // 2println!({}, len);// 字符串遍历let s String::from(hello中文);for c in s.chars(){println!({}, c);}// 取单个字符let s String::from(EN中文);let a s.chars().nth(2); // Some(中)println!({:?}, a); // 按索引截取字符串 不推荐 遇到中文有问题let s String::from(EN中文); let sub s[0..2]; // EN// let sub s[0..3]; // 报错了println!({}, sub);} 61. hashmap use std::collections::HashMap;fn main(){// 映射表操作let mut map HashMap::new();map.insert(color, red);map.insert(size, 10 m^2);println!({}, map.get(color).unwrap());// 遍历映射表操作for p in map.iter(){println!({:?}, p);/*(color, red)(size, 10 m^2)*/}// 先判断key是否存在然后才安全插入map.entry(color).or_insert(red);let mut map HashMap::new();map.insert(1, a);// 在已经确定有某个键的情况下直接修改对应的值if let Some(x) map.get_mut(1){*x b;}for p in map.iter(){println!({:?}, p);}// (1, b)} 62. 面向对象 second.rs pub struct ClassName{field: i32, }impl ClassName{pub fn new(value: i32)-ClassName{ClassName{field: value}}pub fn public_method(self){println!(from public method);self.private_method();}fn private_method(self){println!(from private method);}} main.rs mod second; use second::ClassName;fn main(){let object ClassName::new(1024);object.public_method();}63. 并发编程1 use std::thread; use std::time::Duration;fn spawn_function(){for i in 0..5{println!(spawned thread print {}, i);thread::sleep(Duration::from_millis(1));} }fn main(){thread::spawn(spawn_function);for i in 0..3{println!(main thread print {}, i);thread::sleep(Duration::from_millis(1));} }64. 并发编程2 匿名函数 use std::thread; use std::time::Duration;fn main(){// 闭包是可以保存进变量或作为参数传递给其他函数的匿名函数。闭包相当于 Rust 中的 Lambda 表达式格式如下/**|参数1, 参数2, ...| - 返回值类型 {// 函数体}*/thread::spawn(||{for i in 0..5 {println!(spawned thread print {}, i);thread::sleep(Duration::from_millis(1));}});for i in 0..3 {println!(main thread print {}, i);thread::sleep(Duration::from_millis(1));}} 65. 匿名函数与参数传递 fn main(){// 匿名函数与参数传递let inc |num: i32|-i32{num 1};println!(inc(5) {}, inc(5));let inc |num|{num 1};println!(inc(5) {}, inc(5));}66. 守护线程 use std::thread; use std::time::Duration;// join 方法可以使子线程运行结束后再停止运行程序。 fn main(){let handle thread::spawn(||{for i in 0..5{println!(spawned thread print {}, i);thread::sleep(Duration::from_millis(1));}});for i in 0..3{println!(main thread print {}, i);thread::sleep(Duration::from_millis(1));}handle.join().unwrap();/*main thread print 0spawned thread print 0main thread print 1spawned thread print 1spawned thread print 2main thread print 2spawned thread print 3spawned thread print 4*/}67. 使用move进行所有权迁移 使用move让子线程访问主线程变量 use std::thread;fn main() {let s hello;let handle thread::spawn(move || {println!({}, s);});handle.join().unwrap(); }68. 主线程与子线程之间的消息收发 // 消息传递 use std::thread; use std::sync::mpsc;fn main(){let (tx, rx) mpsc::channel();thread::spawn(move||{let val String::from(hi);tx.send(val).unwrap();});let received rx.recv().unwrap();println!(Got: {}, received);}
http://www.hkea.cn/news/14280038/

相关文章:

  • 长宁做手机网站建设视频网站备案
  • 做企业网站可以没有后台吗手机网站制作流程
  • 网站引流推广怎么做免费ppt模板下载官网
  • 建筑工程人才网福建seo
  • 汽车网站建设论坛钢铁行业公司网站模板
  • 谷歌网站 百度ppt在线浏览网站源码
  • 网站建设考试知识点如何给网站建设提意见
  • 宁波汽车网站建设免费咨询服务合同模板
  • 包工头接活网站app店面设计原则
  • 邢台网站建设的地方佛山外贸网站制作公司
  • 企业网站优化的原则平台及服务是什么
  • 贵港网站设计网站站点结构图
  • 好的活动策划网站广州整合营销
  • 如何查询网站开发语言网页字体尺寸设计
  • 手机版网站设计案例湖北住房和城乡建设厅网站
  • 怎么用自己的网站做网页网站建设的简历
  • 荣成市住房和城乡建设局网站周口住房和城乡建设网站
  • 建设网站写需求分析报告wordpress 手动下一页
  • 网站后台建设 招聘梧州吧
  • 国内十大网站制作公司如何创建自己的商城
  • 郑州公司网站建设做网站需要编程吗
  • 北京网站设计公司兴田德润简介哈尔滨网站建设方案策划
  • 中国品牌网站官网手机端开发工具
  • 有哪些可以做包装袋的网站漕泾网站建设
  • 中国建设银行网站用户深圳网站建设深icp备
  • 查找网站域名泰安网络推广公司平台
  • 基本网站建设语言网站建设特效大全
  • 济南网站开发企业中小型企业网络建设
  • 广州网站建设电话专业英文网站建设
  • 浙江网站建设自助建站优化青岛网站建设有限公司