您的位置:首页 > 财经 > 金融 > 第2章 Rust初体验3/8:使用Result进行错误处理:编译时错误检查增强代码安全性:猜骰子冷热游戏

第2章 Rust初体验3/8:使用Result进行错误处理:编译时错误检查增强代码安全性:猜骰子冷热游戏

2024/10/30 15:06:48 来源:https://blog.csdn.net/wuzhenben/article/details/139612815  浏览:    关键词:第2章 Rust初体验3/8:使用Result进行错误处理:编译时错误检查增强代码安全性:猜骰子冷热游戏

讲动人的故事,写懂人的代码

2.3.9 类型的关联函数:简化对象创建和初始化

席双嘉:“那个String::new(),毫无疑问,它确实像C++中的静态成员函数。”

贾克强:“哈哈!是的,两个冒号确实让人联想到一些东西,对吧?”

“这其实是Rust中的关联函数(associated function,详见第5章),也就是说,是实现于某个类型上的函数。关联函数通常用于提供对象的创建和初始化方法,例如 Rust 标准库中的 new 函数。使用关联函数可以使对象的创建过程更为直观和一致。比如String类型上的new函数,我们可以通过::语法(如String::new)来调用它,从而创建一个新的空字符串。你会发现,许多类型都有一个new函数,因为new是一个常用于创建新值的函数名称。”

赵可菲:“看起来Rust的关联函数是直接在类型上实现的,那么这其实和Java中的静态方法有点像呢。”

艾极思整理了大家在课堂上讨论的关联函数的相关内容。

类型的函数RustJavaC++
实现方式关联函数静态方法静态成员函数
调用语法Type::functionClass.methodClass::method
示例String::new()StringExample.newString()StringExample::newString()
new函数的常见用途创建类型的新值创建或初始化类的实例创建或初始化类的实例

2.3.10 终端标准输入句柄:方便读取用户输入

在课堂上,有位好奇的同学提出了一个问题,他想要对比一下三种语言实现终端标准输入句柄类型的差异。大家讨论之后,艾极思用表格把大家的想法做了一个记录。

终端标准输入句柄类型Rust (std::io::Stdin)Java (System.in)C++ (std::cin)
类型std::io::StdinInputStreamistream
获取输入的方法stdin().read_line(&mut buffer)Scanner scanner 

版权声明:

本网仅为发布的内容提供存储空间,不对发表、转载的内容提供任何形式的保证。凡本网注明“来源:XXX网络”的作品,均转载自其它媒体,著作权归作者所有,商业转载请联系作者获得授权,非商业转载请注明出处。

我们尊重并感谢每一位作者,均已注明文章来源和作者。如因作品内容、版权或其它问题,请及时与我们联系,联系邮箱:809451989@qq.com,投稿邮箱:809451989@qq.com