Mojo模块和包的概念详解

时间:2024-10-11 12:03:54

Mojo 提供了一个打包系统,可让您将代码库组织和编译库为可导入文件。本文介绍了关于如何将您的代码组织成模块和包的必要概念。并向您展示了如何使用命令行创建打包mojo的二进制包文件。

Mojo modules


了解Mojo软件包,首先需要了解 Mojo 模块。Mojo 模块是一个 Mojo 源文件,其中包含可供其他导入它的文件使用的代码。例如,您可以创建一个模块来定义如下结构:

文件名:

struct MyPair:
    var first: Int
    var second: Int

    fn __init__(inout self, first: Int, second: Int):
        self.first = first
        self.second = second

    fn dump(self):
        print(self.first, self.second)

请注意,此代码没有main()函数,因此您无法执行 。但是,您可以将其导入到另一个具有 main()函数的文件中并在其中使用它。

例如,您可以按照以下方式导入MyPair结构体到名为里,并且和文件在同一个目录。

文件名:

from mymodule import MyPair

fn main():
    var mine <