PR:模块系统

Warning

这篇文章还未完成!

正文

随着程序规模越来越大,我们需要按照一定的逻辑去组织它们。Python 和 Rust 都已经提前设计好了应对这些需求的方法。这个时候我们得引入一些概念。

就像生物的分类一样,PR 提供了一些描述代码集合的概念(当然这些概念并不只是用于描述代码集合),我们来看看(从大到小排列):

  1. 对于 Python :包、模块、代码。
  2. 对于 Rust :工作空间、包、Crate、模块、代码。

个人感觉呢,Python 的模块系统相对易于理解,且对于小项目比较容易管理,但 Rust 的模块系统对于大型项目来说管理方便、比较明了

模块

先来说说 PR 的模块的概念。
模块最简单的定义就是可执行代码和数据的集合 ,也可以说是一些特定功能的集合
你可以把它理解为一个代码块,里面包含了常量、函数、结构体、类等等元素
它可以依照逻辑将代码分层并组织,也可以管理模块成员的可见性

模块的定义

Python 的模块是依赖于文件系统的。在 Python 中,一个以 py 为后缀名的文件被视为一个模块。以下代码展示了一个简单的模块( test_mod.py ):

GLOBAL = 100
def test_func():
	return 100
class TestClass(object):
	pass

Rust 的模块则不完全依赖于模块系统,这导致了 Rust 可以以一个模块作为模块的成员。它的模块定义通过使用 mod 关键字或者类似于 Python ,以一个文件作为模块。以下依次分别展示了这两种方法:
main.rs

mod test_mod {
   
    pub const GLOBAL: i64 = 100;
    pub fn test_func() -> i64 {
   100
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值