打造自定义Crate与Rust并发编程全解析
1. 创建自定义Crate
在开发过程中,创建自己的Crate是一项重要的技能。不过,在这个过程中会遇到一些常见问题,比如双名称作用域问题。
1.1 双名称作用域问题
当编写代码时,类似 mathslib::conversions::temperature::temperature 这样的代码会引发问题,正确的写法应该是 mathslib::conversions::temperature 。问题的根源在于 mod.rs 和 temperature 文件。在 lib.rs 中,模块名要和包含 mod.rs 文件的目录名一致,而 mod.rs 需要包含模块的公共接口。在 temperature.rs 文件中,如果写了 pub mod temperature { ... } 就会导致双名称作用域问题。为避免这个问题,只需去掉 pub mod temperature 这一行,只要文件名和 mod.rs 中的 pub mod 名称匹配,编译器就会认为代码属于 mod.rs 中命名的模块。示例代码如下:
// in mod.rs
pub mod temperature;
// al
超级会员免费看
订阅专栏 解锁全文
67

被折叠的 条评论
为什么被折叠?



