rust mod

作者: hehehehe | 来源:发表于2022-09-07 10:55 被阅读0次

https://rustwiki.org/

unresolved module, can't find module file: test_dir_mod.rs, or test_dir_mod/mod.rs
模块可以是file.rs,可以是dir/mod.rs
通过use mod 引入外部模块

如果模块名后面是;,而不是代码快,rust会从模块同名的文件中加载内容
test_dir_mod.rs 子模块必须有个同名文件夹放置子模块
文件夹下有mod.rs也可以是自成一个模块

package 和 crate

  • crate 是一个二进制项(binary)或者库(library)
  • package 可以包含任意多个二进制 crate(binary crate),但是至多包含一个库 crate(library crate)。必须至少包含一个 crate(无论是库的还是二进制的)。一个包会包含有一个 Cargo.toml 文件,阐述如何去构建这些 crate。

src/main.rs 就是一个与包同名的二进制 crate 的 crate 根
src/lib.rs,则包带有与其同名的库 crate,且 src/lib.rs 是 crate 根
如果一个包同时含有 src/main.rs 和 src/lib.rs,则它有两个 crate:一个二进制的和一个库的,且名字都与包相同
src/bin 目录下,一个包可以拥有多个二进制 crate:每个 src/bin 下的文件都会被编译成一个独立的二进制 crate

引入外部依赖

[package]
name = "poi_rs"
version = "0.1.0"
edition = "2021"

# See more keys and their definitions at https://doc.rust-lang.org/cargo/reference/manifest.html

[dependencies]
geos = "8.1.0"

Cargo.toml 中加入 geos 依赖告诉了 Cargo 要从 crates.io 下载 geos 和其依赖,并使其可在项目代码中使用。
为了将 geo 定义引入项目包的作用域,我们加入一行 use 起始的包名,它以 rand 包名开头并列出了需要引入作用域的项

use geos::Geom;

mod && use

mod 组织模块树,挂到root下

Organize code into modules.

use

Import or rename items from other crates or modules.
Usually a use keyword is used to shorten the path required

mod test_dir_mod;
mod test_file_mod;
use test_file_mod as aa;

fn main() {
    println!("Hello, world!");
    crate::test_dir_mod::test_dir_mod_mod::intersect_test();
    crate::test_dir_mod::test_dir_mod_mod::test_dir_mod_mod_mod::test_dir_mod_mod_mod_fn();

    crate::test_file_mod::test_file_mod_fn();
    crate::test_file_mod::test_file_mod_mod::test_file_mod_mod_fn();

    aa::test_file_mod_fn();
    aa::test_file_mod_mod::test_file_mod_mod_fn();
}

相关文章

  • rust mod

    https://rustwiki.org/[https://rustwiki.org/] unresolved m...

  • Rust 入门 - Mod

    绝对路径(absolute path)从 crate 根开始,以 crate 名或者字面值 crate 开头。相对...

  • rust包管理

    通过模块进行包管理 rust通过模块管理项目,我们通过mod声明模块,使用use mod-name::xxx类似的...

  • Rust mod包管理

    Rust的mod管理 首先明确几个Rust的概念 Packages: 可以理解为是一个工程project,包含了c...

  • cargo 解决git依赖私库办法

    Rust实际场景,不仅需要依赖https://crates.io/的公共mod,自己依赖的git私库服务也是常见现...

  • Rust 从基础到实践(10) 模块

    项目要想做到就得有模块化,今天看 Rust 如何进行模块化。定义模块使用mod关键字来声明模块,下面定义了 A 、...

  • rust与c,c++,go,java性能比较

    一,rust与c 二,rust与c++ 三,rust与go 四,rust与java

  • Rust —— 实用的工具 —— 检查内存泄漏

    Rust By Example https://doc.rust-lang.org/stable/rust-by-...

  • RUST学习资源

    《通过例子学 Rust》 《Rust by Example》 《Rust 程序设计语言(第一版)》 《Rust 程...

  • Rust 学习资源

    Rust编程语言 Rust编程语言(https://doc.rust-lang.org/book/[https:/...

网友评论

      本文标题:rust mod

      本文链接:https://www.haomeiwen.com/subject/fdqgnrtx.html