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

作者 : admin 本文共827个字,预计阅读时间需要3分钟 发布时间: 2024-06-12 共3人阅读

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

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

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

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

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

“这其实是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
本站无任何商业行为
个人在线分享-虚灵IT资料分享 » 第2章 Rust初体验3/8:使用Result进行错误处理:编译时错误检查增强代码安全性:猜骰子冷热游戏
E-->