Rust 语言中的双冒号(::)是什么作用?
Rust 双冒号
:: 用法说明 你提到的两处代码刚好对应 :: 在 Rust 中最常见的两种使用场景:
String::new()中的::
这里的::用于调用类型的关联函数(类似其他编程语言中的静态方法)。new()是直接定义在String类型上的函数,不属于某个具体的字符串实例,所以需要通过类型名::关联函数名的格式调用,作用是生成一个新的空字符串实例。io::stdin()中的::
这里的::是模块/命名空间的路径分隔符。你代码开头应该已经引入了std::io模块,io是 Rust 标准库下的输入输出模块,stdin()是该模块下提供的函数,::用来分隔模块层级,明确告诉编译器要调用的是io模块下的stdin函数,避免和其他同名函数冲突。
额外补充:如果没有提前引入 std::io 模块,你也可以写完整路径 std::io::stdin(),这里的两个 :: 都是路径分隔符,用来逐层定位到目标函数。
内容的提问来源于stack exchange,提问作者Abir Sheikh
相关产品推荐
相关产品推荐

