Rust 功能函数的关系包和模块简介

Posted teamlet

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Rust 功能函数的关系包和模块简介相关的知识,希望对你有一定的参考价值。

Rust 功能函数的关系、包和模块简介

一、功能函数之间的关系

前面看到,一个文件中可以定义多个 function 功能函数,这些功能函数可以被相互使用。程序的入口是main()。

在一个文件中,各个功能函数的定义和使用不受功能函数定义的顺序约束。也就是说,不需要像 C 语言一样,在使用一个函数而还没有定义函数之前要有一个声明语句;而像 java 一样,只要声明的功能函数在一个文件内,可以忽略功能函数在文件中出现的顺序。

二、文件的包管理

当一个文件中的功能函数越来越多,阅读和修改都是个问题。因此需要进行功能分离,按照操作或者功能将功能函数分别保存在不同的文件中。

另外,从软件工程的角度考虑软件的复用和封装,有些功能函数需要设置成可以外部访问的 public ,有些则要设计成仅供内部使用的 private 。

Rust 项目的包管理使用术语 crate,等同于 java 中的package。
cargo是Rust内置的包管理工具。

一个crate 可以是可以运行的Rust 程序,也可以是一个用于提供功能函数的 library 仓库 (像android的项目区分是可运行的app和lib一样)。

除了 crate ,Rust还提供了 Module 模块的机制。在每个 crate中可以包含多个 module 模块,其中一个被默认为是(root module)根模块。根模块与其他模块构成树形结构,就像 XML 文件中根元素与其他子元素的关系 或者 文件夹中包含的多个子文件夹的关系一样。

在进行 module 和实战操作之前,先介绍一下 Rust 的项目管理工具: cargo ,前面的文章中已经使用过了,类似 java 中的 maven工具,用于项目的创建、编译、运行、打包、部署以及包之间的依赖关系,依赖包的自动下载和更新。

以上是关于Rust 功能函数的关系包和模块简介的主要内容,如果未能解决你的问题,请参考以下文章

das nas san iscsi 之间的关系简介

Python 模块简介 -- functools

001---包和模块

Rust学习教程02 - Rust语言简介

python模块的导入以及模块简介

Altair HyperWorks 2022软件安装包和安装教程