You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

为什么Rust中部分函数调用前会带有句点?

Rust方法调用句点问题解答

这是Rust的方法调用语法和链式调用的格式化风格,具体说明如下:

  • 带.的写法是Rust的标准方法调用规则:句点用于调用某个值上绑定的方法。你代码里的io::stdin()会返回一个std::io::Stdin类型的实例,.read_line(&mut guess)就是调用这个实例上的read_line方法,传入可变引用&mut guess存储用户输入内容。
  • 换行前置.的写法是链式调用的常用格式化约定:read_line方法执行完成后会返回Result类型的结果,这个类型本身实现了expect方法,所以可以直接在上一步的返回值上继续调用方法,不需要额外声明变量存储中间结果。

你完全可以把这部分代码合并成一行,功能完全一致:

io::stdin().read_line(&mut guess).expect("Failed to read line");

拆分成多行且把句点放在新行开头,只是为了提升代码可读性,清晰展示每一步的调用逻辑,这也是Rust官方格式化工具rustfmt的默认处理风格。

内容的提问来源于stack exchange,提问作者petermayotte

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.10.06 02:18:01