Dzwebs.Net

撰写电脑技术杂文十余年

rust不使用标准库自定义实现clone的示例

Admin | 2023-4-24 11:15:56 | 被阅次数 | 1177

温馨提示!

如果未能解决您的问题,请点击搜索;登陆可复制文章,点击登陆

  在rust中,可以借助标准库的基础的Clone实现复制功能,也可以不借助该功能,自己定义一个Clone 功能,下面是代码。

  一、自定义Clone 功能

#[derive(Debug)]
struct Mynum{
n:i32,
}
#[derive(Debug)]
struct Myc;
impl Clone for Myc{
fn clone(&self) -> Self{
Myc
}
}
impl Clone for Mynum{
fn clone(&self) ->Self{
Mynum{
n:self.n.clone()
}
}
}
fn main(){
let x = Myc;
let b = x.clone();
println!("{:?}",b);


let n1= Mynum{n:123};
let n2 = n1.clone();
println!("{:?}-{:?}",n1,n2);
}

  二、使用标准库的clone() 功能

#[derive(Debug,Clone)]
struct Mynum{
n:i32,
}
#[derive(Debug,Clone)]
struct Myc;

fn main(){
let x = Myc;
let b = x.clone();
println!("{:?}",b);

let n1= Mynum{n:123};
let n2 = n1.clone();
println!("{:?}-{:?}",n1,n2);
}


该杂文来自: 最新技术

上一篇:rust之struct结构体作为函数参数及多个实例进行比

下一篇:rust之判断字符串是否在列表中的两种方法

网站备案号:

网站备案号:滇ICP备11001339号-7

版权属性:

Copyright 2007-2021-forever Inc. all Rights Reserved.

联系方式:

Email:dzwebs@126.com QQ:83539231 访问统计