`

rust 结构体

    博客分类:
  • rust
 
阅读更多
在impl块定义的函数被称为方法,之外则是自由函数
impl People{
    fn new(name: &'static str,age: i32) -> Self{
        return People{name:name,age:age};
    }

    fn set_name(&mut self,name:&'static str){
        self.name = name;
    }

    fn set_age(&mut self,age:i32){
        self.age = age;
    }
}

fn main() {
    let p = People::new("sz",3);
    println!("name:{},age:{}",p.name,p.age);

    let mut p2 = People{name:"ls",age:4};
    println!("name:{},age:{}",p2.name,p2.age);

    p2.set_name("ww");
    p2.set_age(5);
    println!("name:{},age:{}",p2.name,p2.age);
}

name:sz,age:3
name:ls,age:4
name:ww,age:5


设置Copy按位复制
#[derive(Debug,Copy,Clone)]
struct AA{
    a:i32,
    b:u32,
}

fn testCopy(){
    let a = AA{a:1,b:2};
    let b = a;
    println!("{:?}",b);
}
分享到:
评论

相关推荐

    rust结构体示例程序,rust示例程序,入门程序

    rust结构体示例程序,rust示例程序,入门程序

    Strongly typed JSON library for Rust.zip

    这个库可能提供了将JSON数据解析为Rust结构体,以及将Rust对象编码为JSON字符串的功能。 描述中的“json rust库”暗示了这个库专门用于Rust,可能是如`serde_json`这样的流行库。`serde_json`是Rust社区广泛推荐的...

    rust-使用rust开发的http客户端代码.zip

    8. **JSON解析**:如果HTTP响应包含JSON数据,可以使用如`serde`和`serde_json`这样的库将JSON字符串解析为Rust结构体,或者将Rust对象序列化为JSON。 9. **并发处理**:Rust的并发模型基于任务和通道,可以利用`...

    RustJni:Rust 的 Jni 库

    《RustJni:连接Rust与Java的桥梁》 在软件开发中,跨语言交互是一种常见的需求,尤其是在系统级编程或大型项目中。RustJni库正是为了解决这样的问题而诞生的,它提供了在Rust和Java之间进行JNI(Java Native ...

    radiobrowser-api-rust-源码.rar

    - `parsers` 目录:解析从 API 返回的 JSON 数据,将其转换为 Rust 结构体。 4. 请求与响应处理 在 Rust 中,HTTP 请求通常通过异步库如 `async-std` 或 `tokio` 实现。源码中的请求函数会向 Radiobrowser API ...

    codegen_Rust库,提供用于生成Rust代码的构建器API 开发技术.zip

    在Rust生态系统中,`codegen`库扮演了代码生成器的角色,允许开发者通过编程的方式创建复杂的Rust结构体、枚举、函数等。它通常用于元编程、自动生成协议绑定或者构建高度定制化的解决方案。使用`codegen`库,开发者...

    bitfield-register:用于低级寄存器的Rust位域库

    位域寄存器用于低级寄存器的Rust位域库用法#![feature(proc_macro)]extern crate bitfield_register;use bitfield_register :: register;use std :: convert :: * ;#[derive(Debug)]enum RW {R, W}impl From <[ ...

    Python-PyO3Python解释器的Rust绑定

    2. **互操作性**: PyO3支持转换Python和Rust类型,如将Rust结构体转化为Python对象,反之亦然,使得数据在两种语言之间自由流动。 3. **异步支持**: PyO3允许Rust的async/await语法与Python的异步模型(如`asyncio`...

    学习Rust生态:了解流行的库与框架

    - **应用场景**:当需要将 Rust 结构体序列化为 JSON 并存储到文件中时,可以使用 `serde_json` 依赖,并在结构体上使用 `#[derive(Serialize)]` 宏。接着,使用 `serde_json::to_string` 函数将结构体序列化为 JSON...

    Python-Rust的GraphQL服务器库

    它支持从Rust结构体直接映射到GraphQL类型,使得开发过程更为简洁。 在Python开发中,与Rust编写的GraphQL服务交互可能涉及到使用Python的HTTP客户端库(如requests)来发送GraphQL查询,并处理返回的结果。此外,...

    c2rust:将C代码迁移到Rust

    C2Rust帮助您将符合C99的代码迁移到Rust。 (或编译器)生成不安全的Rust代码,该代码紧密地镜像了输入的C代码。 转换器的主要目标是保留功能。 测试套件应在翻译后继续通过。 从C生成安全且惯用的Rust代码最终需要...

    serde_v8:对(rusty_)v8的Serde支持

    1. **Rust 结构体到 V8 对象的转换**:使用 Serde 注释,开发者可以定义 Rust 结构体,然后通过 `serde_v8` 将它们直接转换为 V8 引擎中的 JavaScript 对象。这对于构建 Rust 开发的 JavaScript 扩展或在 Rust 和 ...

    Rust中的单元结构体:简洁之美

    ### Rust中的单元结构体:简洁之美 Rust作为一种系统级编程语言,凭借其对安全性的重视、出色的并发处理能力和优异的性能表现,在软件开发领域占据了举足轻重的地位。Rust语言通过一系列创新的设计理念,如所有权、...

    Rust编程中的轻量级封装:元组结构体解析

    ### Rust编程中的轻量级封装:元组结构体解析 #### 概述 Rust 是一种专注于安全性、并发性和性能的系统级编程语言。它的设计理念旨在提供与C/C++相似的控制力和性能,同时避免这类语言常见的内存安全问题。Rust 的...

    json-rust:Rust中的JSON实现

    例如,你可以用它来解析来自服务器的JSON响应,然后解码为Rust结构体,进一步处理业务逻辑。反过来,当需要向服务器发送请求时,也可以用`json-rust`将Rust对象编码为JSON字符串,再发送出去。 为了更好地使用`json...

    svd2rust:从SVD文件生成Rust寄存器映射(`struct`s)

    生成的Rust结构体与微控制器的外设和寄存器一一对应,每个结构体字段代表一个寄存器,字段的类型则对应寄存器的宽度(8位、16位或32位)。此外,位字段也会被映射为结构体内的枚举类型,提供友好的访问方式。这样...

    Actix Web & SQLx 搭建 Web 后端服务.pdf

    `用于执行查询并直接将结果映射到Rust结构体。`Data<crate::State>`是Actix Web中的一个类型,它存储了全局状态,如数据库连接池`pool`。 总结来说,这个教程展示了如何使用Actix Web和SQLx来搭建一个基本的Web服务...

    llvm-ir:自然 Rust 数据结构中的 LLVM IR

    同样,像 、 和这样的类型应该是包含尽可能多信息的 Rust 结构体。 与其他安全的 LLVM 绑定(例如 , llvm-ir不依赖于对 LLVM API 的连续 FFI。 它仅在其初始解析步骤中使用 LLVM API,以提取构建其丰富的 LLVM IR...

    非常容易的actix使用帮助

    消息是普通的Rust结构体,可以通过`actix::Message` trait 来定义。Actor收到消息后,会调用`handle`方法来处理。 4. **反应器模型**: Actix采用反应器模型,这意味着它能够同时处理多个事件,而无需阻塞。这使得...

    dhall-rust:适用于Rust用户的可维护的配置文件

    4. 解析和转换:dhall-rust 提供了 Rust 绑定,可以轻松将 Dhall 表达式转换为 Rust 结构体,便于在代码中使用。 5. 强大的工具集:Dhall 提供了命令行工具,可以进行类型检查、标准化、合并和导出配置。 6. 丰富...

Global site tag (gtag.js) - Google Analytics