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工具,用于项目的创建、编译、运行、打包、部署以及包之间的依赖关系,依赖包的自动下载和更新。

时间: 2024-08-02 16:25:00

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

python学习笔记 - 函数,集合,包,模块

一.函数 a=1, b=2, 交换值 定义中间量c,C=None, a,b=b,a a,b,c=1,2,3 sys.argv 实现指定的某些功能,使用的时候可以直接调用,简化代码,提高代码复用性 def fun():#定义一个函数,后面是函数名                print("Hello World")#函数体 例如: 1.def sayHello(): print("Hello World") sayHello()  --调用 2.def sayNam

函数知识点 1.包 2.hashlib模块 --- 摘要算法模块 3.logging模块 4.openpyxl模块 5.深浅拷贝 # 17

函数知识点1.包 1 # coding(编码系统):utf-8 2 """ 3 1.模块的三种来源: 4 1.内置 5 2.第三方 6 3.自定义 7 2.模块的四种表现形式: 8 1. .py文件 9 2.共享文件 10 3.包 11 4.内置 12 3.研究模块和包: 13 # 还可以站在另外两个角度分析: 14 1.模块的开发者 15 2.模块的使用者 16 4.导模块的那一瞬间发生了什么? 17 首先运行执行文件run.py,创建一个run.py的名称空间 18 1.

re模块中常用功能函数

re模块中常用功能函数 正则表达式是一个特殊的字符序列,它能帮助你方便的检查一个字符串是否与某种模式匹配. Python 自1.5版本起增加了re 模块,它提供 Perl 风格的正则表达式模式. re 模块使 Python 语言拥有全部的正则表达式功能. compile 函数根据一个模式字符串和可选的标志参数生成一个正则表达式对象.该对象拥有一系列方法用于正则表达式匹配和替换. re 模块也提供了与这些方法功能完全一致的函数,这些函数使用一个模式字符串做为它们的第一个参数. re.match函数

Turtle模块,一个超精简但功能齐全的绘图包

先上官方链接https://docs.python.org/3.3/library/turtle.html 再上一个GitHub上别人做的一个小程序,画小猪佩琦的,里面用到了大量常用的turtle接口.github链接https://github.com/Monster12138/- Turtle模块,一个超精简但功能齐全的绘图包 原文地址:https://www.cnblogs.com/cia2018/p/10264829.html

Python基础之包与模块

本文和大家分享的主要是python中包与模块相关内容,一起来看看吧,希望对大家学习python有所帮助. 摘要 1. 为重用以及更好的维护代码, Python 使用了模块与包:一个 Python 文件就是一个模块,包是组织模块的特殊目录(包含 __init__.py 文件). 2. 模块搜索路径, Python 解释器在特定的目录中搜索模块,运行时 sys.path 即搜索路径. 3. 使用 import 关键字导入模块,注意 import * 与 __all__ 的关系. 1. 模块与导入 A

python 3 包与模块

包与模块 一 .模块 1 什么是模块? 常见的场景:一个模块就是一个包含了python定义和声明的文件,文件名就是模块名字加上.py的后缀. import加载的模块分为四个通用类别: 1 使用python编写的代码(.py文件) 2 已被编译为共享库或DLL的C或C++扩展 3 包好一组模块的包 4 使用C编写并链接到python解释器的内置模块 2 为何要使用模块 退出python解释器然后重新进入,那么你之前定义的函数或者变量都将丢失,因此我们通常将程序写到文件中以便永久保存下来,需要时就通

基于Java的Jess功能函数扩展方法

Jess是Java expert system shell的缩写,是Java平台上的规则引擎,它是CLIPS程序设计语言的超集,是完全使用Java语言编写一种用于开发专家系统的语言.对于基于规则的推理,特别是针对逻辑条件的推理,Jess是已知规则引擎中最快的.它以增强型Rete算法为基础,支持前向推理,也支持后向推理,具有直接对Java对象进行推理,支持对工作存储区的查询访问等特点[1-2]. Jess语言本身提供了很多功能强大的函数供专家系统开发者调用,但这些函数不可能囊括一切功能和运算,若仅

python包与模块

Python基础-包与模块 摘要 为重用以及更好的维护代码,Python使用了模块与包:一个Python文件就是一个模块,包是组织模块的特殊目录(包含__init__.py文件). 模块搜索路径,Python解释器在特定的目录中搜索模块,运行时sys.path即搜索路径. 使用import关键字导入模块,注意 import *与__all__的关系. 1. 模块与导入 A module is a file containing Python definitions and statements

python管理包(模块和包的应用)

一.python 管理包(模块和包的应用) 1.1 python管理包 1.1.1 distutils distutils是Python标准库的一部分,这个库的目的是为开发者提供一种方便的打包方式,同时为使用者提供方便的安装方式. 在distutils中描述扩展模块较纯python模块要复杂一些,其中描述扩展模块可以由setup函数的关键字参数ext_modules实现. 1.1.2 setuptools setuptools是对distutils的增强,尤其是引入了包依赖管理. setup脚本