写法比较独特,但与go语言相差不了太多,都是为结构体单独进行方法的实现:

struct Rectangle{width: u32,length:u32,
}
impl Rectangle{fn area(&self) -> u32 {self.width*self.length}
}
fn main() {let rect = Rectangle{width:30,length:50};println!("{}",rect.area())
}

这里的impl里面就为Rectangle结构体实现了相应的面积计算方法,在调用时与其他语言相同,也是直接通过点的方式调用实例结构体上的方法。self会被推断成Rectangle类型,这与python类似。
注:Rust根据情况自动添加&,&mut或者*,以便object可以匹配方法的签名。
可以在impl块里定义不把self作为第一个参数的函数,叫做关联函数,类似于函数中的构造器。

fn square(size: u32) -> Rectangle {Rectangle {width: size,length: size,}}

Rust中对某个结构体实现方法于rust中的关联函数相关推荐

  1. 【Go】Go基础(八):结构体和方法

    一. 结构体(struct) 1.结构体定义 type identifier struct {field1 type1field2 type2... } 声明:new(Type) 和 &Typ ...

  2. Swift 中枚举、结构体、类(enum、struct、class)

    Swift 中枚举.结构体.类(enum.struct.class) Swift中的枚举与OC相比不会自动分配初始值,值的类型不会限定为整数,可以给定关联值类型和具体值(整型.浮点型.字符型(Swif ...

  3. oc基础-foundation框架中的常用结构体

    1.CGPoint/NSPoint :表示坐标点的 创建: CGPoint *cp=NSMakePoint(10,10); //x,y NSPonit *cp=CGPointMake(10,10); ...

  4. STM32编程中枚举和结构体的结合

    01.结构体定义 基本定义:结构体,通俗讲就像是打包封装,把一些有共同特征(比如同属于某一类事物的属性,往往是某种业务相关属性的聚合)的变量封装在内部,通过一定方法访问修改内部变量. 结构体的定义: ...

  5. 005 GO-高级数据类型(结构体和方法)

    005 GO-高级数据类型(结构体和方法) http://note.youdao.com/noteshare?id=864cc29d2ca6082949d875280f3f5448&sub=D ...

  6. Python中定义(声明)结构体

    文章目录 前言 实现 前言 在Python中并无像C/C++那样的结构体类型,但是由于Python是用C编写而来的,很多东西可以互通. Python是有struct模块,但并非是用于处理一般结构体的, ...

  7. C++结构体初始化方法

    在 C++ 里可以将结构体看作没有任何成员函数的对象,下面对 C++ 结构体的几种初始化方法进行总结. 文章目录 直接赋值 利用函数赋值 构造函数初始化 直接赋值 #include <bits/ ...

  8. Java中如何实现结构体?如何对结构体进行排序?

    ***今天在做老师布置的编程题时,遇到了本题.感觉这道题如果用C++来解决的话,用结构体比较好吧!哈哈哈,可能还有其他的好方法,但我目前想到的是用结构体来解决比较合理.Java中有结构体吗?如果有,它 ...

  9. 【C 语言】文件操作 ( 学生管理系统 | 命令行接收数据填充结构体 | 结构体写出到文件中 | 查询文件中的结构体数据 )

    文章目录 一.学生管理系统 二.代码示例 一.学生管理系统 前两篇博客 [C 语言]文件操作 ( 将结构体写出到文件中并读取结构体数据 | 将结构体数组写出到文件中并读取结构体数组数据 ) [C 语言 ...

最新文章

  1. 设置VSCode隐藏菜单栏快捷键Alt+T(头部)、隐藏状态栏快捷键Alt+B(底部),为单屏开发者腾出更多编码空间
  2. linux 命令行 过滤,利用linux命令行工具进行文本行过滤
  3. DL之LSTM:基于《wonderland爱丽丝梦游仙境记》小说数据集利用LSTM算法(层加深,基于keras)对单个character字符预测
  4. Kubernetes kubectl proxy命令的妙用
  5. 【学习笔记】第二章——时间片轮转RR、优先级调度、多级反馈队列调度算法
  6. beginnersbook C 语言教程·翻译完成 | ApacheCN
  7. 【MyBatis学习05】SqlMapConfig.xml文件中的配置总结
  8. 计算机考试九九乘法表,多种办法用EXCEL软件生成99乘法表
  9. 【操作系统实验】设备驱动(Linux环境下)
  10. TWaver可视化软件(一)初识三维可视化软件
  11. 计算机中库的创建方法,win7系统下库的创建方法
  12. 申请基于GPT-4.0模型的NewBing秒审核
  13. 在word中doc与docx的区别是什么(整理)
  14. 根据年份判断属相php,自动算出生肖属相的c程序编写程序,输入一个年份,判断该年属相.(提示switch-case......
  15. 蓝桥杯 算法练习 数字游戏
  16. 编程的同时还能盯股票基金?VSCode这款神器插件绝了!
  17. JS实现页面的自动滚动【自动阅读、JS小工具】
  18. android+小米文件管理器源码,[MediaStore]小米文件管理器android版源码分析——数据来源...
  19. IT培训讲师的亲身感受
  20. 88 java反射_4 _注解

热门文章

  1. Java黑皮书课后题第5章:5.13(求满足n的三次方<12000的n的最大值)使用while循环找出满足n的三次方<12000的n的最大值
  2. Java黑皮书课后题第2章:*2.8(当前时间)程序清单2-7给出了显示当前格林尼治时间的程序。修改这个程序,提示用户输入相对于GMT的时区偏移量,显示在这个特定时区的时间
  3. UML大战需求分析阅读笔记——01
  4. 淘宝2011.9.21校园招聘会笔试题
  5. C# 文件流 导入 导出
  6. Django报错:ConnectionAbortedError: [WinError 10053] 你的主机中的软件中止了一个已建立的连接。...
  7. 使用solr的完整流程
  8. js去掉字符串中的所有空格
  9. 如何做好性能测试_流程篇
  10. BPM实例方案分享:表单子表自动填入数据