0
点赞
收藏
分享

微信扫一扫

bash和sh区别

紫荆峰 2024-06-15 阅读 22

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

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

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

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

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

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

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

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

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

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

相关推荐

0 条评论