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

凡科用模板做网站常州seo博客

凡科用模板做网站,常州seo博客,知名高端网站建设企业,常德企业网站建设Rust struct 1.实例化需要初始化全部成员变量2.如果需要实例化对象可变,加上mut则所有成员变量均可变 Rust支持通过已实例化的对象,赋值给未赋值的对象的成员变量 #![allow(warnings)] use std::io; use std::error::Error; use std::boxed::Box; use s…

Rust struct

  • 1.实例化需要初始化全部成员变量
  • 2.如果需要实例化对象可变,加上mut则所有成员变量均可变

Rust支持通过已实例化的对象,赋值给未赋值的对象的成员变量

#![allow(warnings)]
use std::io;
use std::error::Error;
use std::boxed::Box;
use std::convert::TryInto;
use std::cmp::Ordering;
use std::cmp::min;
use std::cmp::max;struct User {name: String,age: i32
}fn main() -> Result<(), Box<dyn Error>> {let u: User = User {name: String::from("sqs"),age: 12};print!("{} {} ", u.name, u.age);let b: User = User {name: String::from("sqssqs"),..u};print!("{} {}", b.name, b.age);Ok(())
}

定义结构体中的方法

#![allow(warnings)]
use std::io;
use std::error::Error;
use std::boxed::Box;
use std::convert::TryInto;
use std::cmp::Ordering;
use std::cmp::min;
use std::cmp::max;struct User {name: String,age: i32
}impl User {fn print(&self) {println!("{} {}", self.name, self.age);}
}fn main() -> Result<(), Box<dyn Error>> {let u: User = User {name: String::from("sqs"),age: 12};u.print();let b: User = User {name: String::from("sqssqs"),..u};b.print();Ok(())
}

修改成员变量

#![allow(warnings)]
use std::io;
use std::error::Error;
use std::boxed::Box;
use std::convert::TryInto;
use std::cmp::Ordering;
use std::cmp::min;
use std::cmp::max;struct User {name: String,age: i32
}fn main() -> Result<(), Box<dyn Error>> {let mut u: User = User {name: String::from("sqs"),age: 12};print!("{} {} ", u.name, u.age);u.name = String::from("sqssqs");u.age = 16;print!("{} {}", u.name, u.age);Ok(())
}

通过 借用 修改成员变量

#![allow(warnings)]
use std::io;
use std::error::Error;
use std::boxed::Box;
use std::convert::TryInto;
use std::cmp::Ordering;
use std::cmp::min;
use std::cmp::max;struct User {name: String,age: i32
}fn chageAge(u : &mut User){u.age = 10;
}fn main() -> Result<(), Box<dyn Error>> {let mut u: User = User {name: String::from("sqs"),age: 12};println!("{} {}", u.name, u.age);u.name = String::from("sqssqs");u.age = 16;println!("{} {}", u.name, u.age);chageAge(&mut u);println!("{} {}", u.name, u.age);Ok(())
}

通过 转移所有权 修改成员变量

#![allow(warnings)]
use std::io;
use std::error::Error;
use std::boxed::Box;
use std::convert::TryInto;
use std::cmp::Ordering;
use std::cmp::min;
use std::cmp::max;struct User {name: String,age: i32
}fn chageAge(mut u: User) -> User {u.age = 10;u
}fn main() -> Result<(), Box<dyn Error>> {let mut u: User = User {name: String::from("sqs"),age: 12};println!("{} {}", u.name, u.age);u.name = String::from("sqssqs");u.age = 16;println!("{} {}", u.name, u.age);u = chageAge(u);println!("{} {}", u.name, u.age);Ok(())
}

以下代码报错

#![allow(warnings)]
use std::io;
use std::error::Error;
use std::boxed::Box;
use std::convert::TryInto;
use std::cmp::Ordering;
use std::cmp::min;
use std::cmp::max;struct User {name: String,age: i32
}fn chageAge(mut u: User) -> User {u.age = 10;u
}fn main() -> Result<(), Box<dyn Error>> {   let mut u: User = User {name: String::from("sqs"),age: 12};println!("{} {}", u.name, u.age);u.name = String::from("sqssqs");u.age = 16;println!("{} {}", u.name, u.age);let b: User = chageAge(u);println!("{} {}", u.name, u.age);Ok(())
}

报错详情

编译出错!
error[E0382]: borrow of moved value: `u.age`--> /main.rs:30:31|
21 |     let mut u: User = User {|         ----- move occurs because `u` has type `User`, which does not implement the `Copy` trait
...
29 |     let b: User = chageAge(u);|                            - value moved here
30 |     println!("{} {}", u.name, u.age);|                               ^^^^^ value borrowed here after move|= note: this error originates in the macro `$crate::format_args_nl` which comes from the expansion of the macro `println` (in Nightly builds, run with -Z macro-backtrace for more info)error: aborting due to previous errorFor more information about this error, try `rustc --explain E0382`.

原因

所有权已经从u给b导致u无法使用

http://www.hkea.cn/news/297691/

相关文章:

  • 武汉工业网站制作百度人工服务热线24小时
  • 新闻头条最新消息今日头条站长之家seo综合
  • app与网站宁波seo网络推广渠道介绍
  • 国外学做咖啡的网站百度高级搜索网址
  • 建网站开源代码游戏推广怎么找玩家
  • 莱州哪里有做网站的浙江网站建设平台
  • ps网站设计与制作免费推广seo
  • 网站查询功能怎么做关键词搜索量怎么查
  • 付费网站推广网站优化包括哪些内容
  • 在日本做色情网站广州seo外包
  • 最棒的网站建设考研最靠谱的培训机构
  • 广州建设企业网站黑河seo
  • 招商网站建设性价比高seo排名优化的
  • 产品网站怎么做的长沙正规关键词优化价格从优
  • 怎样查询江西省城乡建设厅网站杭州seo网
  • 网站建设空间是指什么软件网站优化最为重要的内容是
  • 做美工要开通什么网站的会员呢新网站友链
  • 网站集约化建设推进情况推广app赚钱
  • 番禺大石做网站域名污染查询网站
  • 长沙市在建工程项目免费seo快速排名工具
  • 南宁定制网站制作电话图片外链生成工具
  • 哪些网站做的海报比较高大上百度客服电话是多少
  • 菏泽网站建设电话常州seo外包
  • 做木皮的网站裂变营销五种模式十六种方法
  • 精美 企业网站模板微信软文推广怎么做
  • 怎么建立一个网站里面可以查询资料百度权重域名
  • 网站建设顺序镇江交叉口优化
  • 低价企业网站搭建软文新闻发布网站
  • 创造与魔法官方网站做自己喜欢的事seo视频
  • 淘宝联盟推广网站怎么做吉安seo招聘