一个示例就能看明白,关键处皆有注释,大致要点:impl 一个struct时,

1.如果方法参数为&self,则为方法 ,可以用"对象实例.方法"来调用
2.如果方法参数不是&self,则为函数,只能用"struct名::函数名"来调用

//类似java里的pojo类
struct Pet{
name:String,
age:i8, //最后1个,不能省略
} impl Pet{
//定义函数(类似java里的static方法)
fn to_string(pet:&Pet)->String{
format!("name:{},age:{}",pet.name,pet.age)
} //定义方法(类似java里的实例方法)
fn to_str(&self)->String{
format!("name:{},age:{}",self.name,self.age)
}
} fn main() {
let dog = Pet{
name:String::from("dog"),
age:1
};
//调用Pet里的function
println!("{}",Pet::to_string(&dog));
//调用Pet实例dog上的method
println!("{}",dog.to_str());
}

输出:

name:dog,age:1
name:dog,age:1

Rust中struct的function与method的更多相关文章

  1. Myeclipse10中出现Cannot return from outside a function or method错误提示

    最近发现myeclipse10中有几处bug 比如: Cannot return from outside a function or method onClick="return chec ...

  2. 你真的了解PeopleSoft中的function和method方法嘛

    谈下function和method在内嵌与外部传参的区别 1.内嵌函数(Internal Functions) 看下现在输出&x的话会返回什么值? 2.内嵌函数(Internal Functi ...

  3. jsp中出现onclick函数提示Cannot return from outside a function or method

    在使用Myeclipse10部署完项目后,原先不出错的项目,会有红色的叉叉,JSP页面会提示onclick函数错误 Cannot return from outside a function or m ...

  4. [Go语言]从Docker源码学习Go——function和method

    function和method关系 method是针对某一类型定义的function, function可以单独调用,method必须针对某一类型的实例进行调用 //function 调用方式 pac ...

  5. 【译】理解Rust中的闭包

    原文标题:Understanding Closures in Rust 原文链接:https://medium.com/swlh/understanding-closures-in-rust-21f2 ...

  6. 【译】理解Rust中的Futures(二)

    原文标题:Understanding Futures in Rust -- Part 2 原文链接:https://www.viget.com/articles/understanding-futur ...

  7. Cannot return from outside a function or method

    最近发现myeclipse10中有几处bug 比如: Cannot return from outside a function or method onClick="return chec ...

  8. myeclipse 10 载入新的项目报错Cannot return from outside a function or method

    myeclipse 10 载入新的项目报错Cannot return from outside a function or method 解决方法: 方法一: window -->prefere ...

  9. Rust 中的继承与代码复用

    在学习Rust过程中突然想到怎么实现继承,特别是用于代码复用的继承,于是在网上查了查,发现不是那么简单的. C++的继承 首先看看c++中是如何做的. 例如要做一个场景结点的Node类和一个Sprit ...

  10. drp错误集锦---“Cannot return from outside a function or method”

    好久都不动的项目,今天打开项目突然是红色感叹号.详细错误表现为: 也就是说,如今MyEclipse已经不识别在JSP页面中使用的return方法了(并且不止一处这种警告),那怎么办?????顿时闹钟一 ...

随机推荐

  1. 使用 PyInstaller 打包 Python 应用并解决依赖问题

    使用 PyInstaller 打包 Python 应用并解决依赖问题 在 Python 开发中,有时需要将程序打包成独立的可执行文件,以便分发和部署.PyInstaller 是一个广泛使用的工具,可以 ...

  2. 支持国产,为deepin添把柴,全面切换到deepin;

    虽然不是技术型,但是对deepin的支持必须有的. 只希望国产系统越来越好.国产软件越来越好. 软件生态也越来越好! 等搞完高精密仪器问题,cpu自己造了,下来估计就要整顿软件行业. 我这里要时刻准备 ...

  3. SQL 月同环比 日期 T+1 自动计算

    对于离线数据的分析, 数据通常是 T+1 的, 即所有数据更新都是到 "昨天". 对于这样的同环比能自动计算是很需要的. -- 以Mysql为例: -- 今天: 2022/3/1 ...

  4. 使用Node.js打造自己的Git版本控制系统

    @charset "UTF-8"; .markdown-body { line-height: 1.75; font-weight: 400; font-size: 15px; o ...

  5. 中国科学院计算所:从 NFS 到 JuiceFS,大模型训推平台存储演进之路

    中科院计算所在建设大模型训练与推理平台过程中,模型规模与数据集数量呈爆发式增长.最初采用简单的裸机存储方案,但很快面临数据孤岛.重复冗余.管理混乱和资源利用不均等问题,于是升级到了 NFS 系统.然而 ...

  6. Markdown 使用十分钟入门

    Markdown 十分钟入门 标题 标题前#+空格 支持6级标题 输入样式#+空格:##+空格:以此类推, *注意标题输入的#前面不能有空格 字体 斜体 # 这里不要空格 _斜体_ *加一个* 字体加 ...

  7. java客户端发送socket消息到指定服务并接收响应

    做个笔记 /** * 发送socket到指定服务 * 接收有6位报文头长度的响应,支持读取分包 * * @param host IP * @param port 端口 * @param msg 消息内 ...

  8. buck参数工具分享

    工具链接:https://cnblogs-img.oss-cn-hangzhou.aliyuncs.com/docs/buck.xls

  9. Hadoop学习第二天

    今天配置Linux网络,首先是虚拟机网络配置,然后是真实机访问虚拟机,然后是配置centos网卡,最后是给IP地址加网络名,然后配置网络服务,但是出错了,目前还没找到问题所在

  10. 几分钟了解下java虚拟机--04

    方法内联 它的基本思想是在调用某个方法时,不通过跳转指令去执行该方法的代码,而是直接将该方法的代码复制到调用点处.这样可以减少方法调用的开销,包括减少函数调用和返回的指令执行时间,以及减少堆栈操作 方 ...