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

临沂网站建设和轶件安装展示网站模版源码

临沂网站建设和轶件安装,展示网站模版源码,wordpress分类自定义字段调用,手机微信网站设计前言 你怎么向天生的瞎子说清颜色?怎么用手势向天生的聋子描述声音? 鲜花就在眼前,雷鸣就在头顶,对他们来说却都毫无意义 眼睛看不到,鼻子可以嗅闻花香,耳朵听不见,手指可以触碰窗纸的震动。 犯…

前言

你怎么向天生的瞎子说清颜色?怎么用手势向天生的聋子描述声音? 鲜花就在眼前,雷鸣就在头顶,对他们来说却都毫无意义 眼睛看不到,鼻子可以嗅闻花香,耳朵听不见,手指可以触碰窗纸的震动。 犯错的可能是描述者,而不是瞎子和聋子:你明知道他们无法领会颜色与声音,为什么非要生硬地灌输呢?换一种方法,用他们能理解的方式,同样能传递信息。——《拔魔》


\;\\\;\\\;

目录

    • 前言
    • 借用
    • 生命周期
    • 闭包

借用

借用borrow很像是引用reference,也就是地址。但是有限制,不能借用多次,即不能借用完了还当借用在自己这

fn main() {let mut s = String::from("hello");let a = &mut s;let b = &mut s; //不安全,报错,怎么能把可变的借用给两个IDprintln!("{}, {}", a, b);
}

\;\\\;\\\;

生命周期

fn main() {// let r;// {//     let a = 5;//     r = &a;// }// println!("r={}", r); //报错,因为a被回收了let r;{let a = 5;r=a; //这样就没错了,因为这里是拷贝了一份}println!("r={}",r);}

在这里插入图片描述

fn main() {let s=max("hola","hello");println!("s={}",s);
}//fn max(x:&str,y:&str)->&str{ //报错,因为没指明两个参数的作用域
fn max<'a>(x:&'a str,y:&'a str)->&'a str{if x.len() > y.len(){x}else{y}
}

在这里插入图片描述

'a 进行声明周期标注,比如 'static 就是标注为全局静态。

fn main() {let a=String::from("hola");{let b=String::from("hello");}println!("max is {}",max(&a,&b)); //报错,b被回收了
}fn max<'a>(x:&'a str,y:&'a str)->&'a str{if x.len() > y.len(){x}else{y}
}
#[derive(Debug)]
struct MyPack<'a> {part: &'a str, 
//    tally:&'b str,
}fn main() {let i;{let a: String = String::from("test... i. t.."); //待分割的字符串let b: &str = a.split(".").next().expect("not find .");i = MyPack { part: b };}println!("part : {:?},", i); //错误,因为b被释放了
}

\;\\\;\\\;

#[derive(Debug)]
struct Foo;impl Foo{//传入可变借用,传出不可变借用(没有mut)//就是把可变借用转化为了不可变借用fn exec(&mut self)->&Self{&*self  //取星号是为了和传入的&抵消,不然&self就变成了地址的地址了}fn run(&self){println!("2");}
}fn main(){let mut f : Foo = Foo;//f是可变的f.run(); //f是可变的let a : &Foo = f.exec(); //a是可变的,f借用给了a,所以下面f调用就出错了// println!("{:?}",a); //Foof.run(); //只要后面有打印,就报错???//println!("{:?}",a); //Foo f.run()后面没有这句打印,就没错了println!("---------------------");{let mut b : Foo = Foo;//b是可变的{b.run();let c : &Foo = b.exec(); //c也是不可变的{//b.exec();//b.run();//c.exec();c.run(); //不可变的c可以调用run}println!("{:?}",c);}}
}

在这里插入图片描述

#[derive(Debug)]
struct Foo;impl Foo{fn exec(&mut self)->&mut Self{&mut *self }fn run(&self){println!("2");}
}fn main(){{let mut b : Foo = Foo;//b是可变的{b.run();let c : &mut Foo = b.exec(); //c是可变的{//b.exec();//b.run();c.exec();c.run(); }println!("{:?}",c);}}
}

在这里插入图片描述

\;\\\;\\\;

闭包

就是lambda表达式,也是匿名函数

fn main(){let x:f64=100f64;let add = |y:f64| x+y  ;     //闭包let sub = |y| ->i64 { (x-y) as i64 };let one = ||1;println!("add : {}",add(20f64));println!("sub : {}",sub(20f64));println!("one : {}",one());
}

在这里插入图片描述

\;\\\;\\\;

http://www.yayakq.cn/news/955272/

相关文章:

  • 如何建设网站?建设网站的公司兴田德润怎么联系
  • 非法网站开发者刑事责任厦门APP开发网站开发公司
  • 网站导航营销步骤免费建站建设网站
  • 养殖类网站模板珠海 网站设计
  • 宁波网站建设设计公司排名wordpress twenty twelve数字
  • 深圳市龙华区属于哪个区seo网络推广软件
  • 网站 wap 插件怎么样注册一个网站
  • 网络推广网站推广方法肃北蒙古族自治县建设局网站
  • 泉州市城乡和住房建设网站企业做网站和开展电子商务的好处
  • 如何建设数据库搜索网站微信开发网站开发
  • 做物流运输网站电话东莞建网站服务
  • 江门百度网站快速优化开发公司与子公司合作协议
  • 没有网站怎么做排名优化网站建设奕网情深
  • 中文书店网站模板阿里云个人网站建设
  • 个人做网站需要备案吗缓存 wordpress 加速
  • 自己可以做开奖网站吗专业做视频的网站有哪些内容
  • 阿里巴巴网站怎样做的漂亮wordpress做视频网站
  • 网站被墙查询网站排名优化技巧
  • 企业建站方案免费制作游戏app软件
  • 企业型网站有哪些特点百度怎么发布网站
  • 进入网站自动全屏怎么做wordpress in_tag
  • 网站建设需要哪些企业资料网红营销案例
  • 湖南火电建设有限公司招标网站php网站开发招聘
  • 贵阳建设银行网站管理学精品课程网站
  • 制作网站的技术图片在线处理工具
  • 商派商城网站建设免费搭建微信网站设计
  • 想建立什么网站吗网站基础模板
  • 埃及网站后缀网站备案安全承诺书
  • 山西省和城乡建设厅网站如何弄微信小程序
  • 做家装的网站好android属于系统软件吗