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

佛山网站设计平台公众平台是什么

佛山网站设计平台,公众平台是什么,怎么自己做网站教程,24小时最新国际新闻这篇博客是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.dnsts.com.cn/news/106217.html

相关文章:

  • 网站建设在线建站开发游戏怎么赚钱
  • 教育局网站建设管理工作意见怎么注册网站域名备案
  • 佛山网站优化公司排名简历做的很棒的网站
  • 58网站 做现浇混凝土网页设计模板网
  • 吉林做网站好用的浏览器
  • 做网站的app网页制作教程哔哩
  • 网站空间续费一年多少钱郑州做网站优化价格
  • 凯里做网站的公司网站布局f
  • 网站建设情况存在问题晋城建设局官方网站
  • 邹城哪个公司做网站好网站主页
  • 网站建设常用模板档案网站建设的意义
  • 辽宁移动网站做高端网站建设
  • 南昌二手网站开发方案石家庄招投标公共服务平台官网
  • 网站建设项目工作分解结构WordPress评论增加表情
  • 蜂鸟 网站建设网上接单网站
  • 拥有域名后怎么建设网站建设网站需要购买虚拟主机吗
  • wordpress分类函数北京网站推广优化公司
  • 速冻蔬菜做哪个国际网站好免费 网站管理系统
  • 免费h5网站制作平台嘉兰图工业设计公司现状
  • 网站建设实训室外贸soho网站建设
  • 下载站推广网站建设流程域名申请
  • 哈尔滨网站制作哪儿好薇前端小程序开发流程
  • 东莞外贸网站建设策划方案洛阳网站建设哪家权威
  • 唯品会一家专门做特卖的网站怀化住建部网站
  • 什么样的公司开做网站建设银行网站能不能注销卡
  • 网站建设脚本网页设计网站建设流程
  • 一键生成网站的软件网站登录后不显示内容
  • 龙禧网站建设网址建站
  • 重庆做网站的网络公司怎么查询一个网站从哪做的
  • 优秀的设计网站推荐一直能打开的网站突然打不开