import之使用
几种程序设计里import的使用
java中的包 java一个文件夹就是一个包,文件夹内类文件package相同,package名称为从java源码目录到内层目录按点区分层次 可见范围层级控制到包,即同一个包内的文件不需要引用 导入包时按包全名进行导入 import com.myexample.Person; Person psn = new Person() import两种形式 单类型导入(single-type-import),例如import java.io.File; 按需类型导入(type-import-on-demand),例如 import java.io.*; golang中的包 golang一个文件夹就是一个包,文件夹内所有文件的首行package相同,package名称为最内层目录 可见范围层级控制到包,即同一个包内的文件不需要引用 导入包时按文件夹路径导入,路径是从src后开始计算 import sqlhelper "mylib/sqlhelper" import strhelper "mylib/strhelper" sqlhelper.dofunc() strhelper.dofunc() import的三种形式 import _ "fmt" 下划线(如:_ “github.com/go-sql-driver/mysql”)的作用:当导入一个包时,该包下的文件里所有init()函数 都会被执行。 import . "fmt" 和引用的包名之间加点(.)操作的含义就是这个包导入之后在调用这个包的函数时,可以省略前缀的包名 imprt f "fmt" 别名操作顾名思义可以把包命名成另一个用起来容易记忆的名字 python中的包和模块 python中一外文件夹是一个包,一个文件是一个模块 可见范围层级控制到模块,同一个包内的不同模块也需要引用 import的两种形式 1.导入模块 import test1 或 from dir1.dir2 import test1 test1.test1_func() 2.直接导入模块中的方法或类 # 需要从某个模块中引入多个函数或类或变量时吗,用,逗号隔开即可 from test1 import test1_func, total, People 或 from test1 import * # 直接使用 test1_func() c语言中没有包的概念但引入数据也是通过路径引入 c语言中避免函数名重复的解决办法: 1.在源文件中,不对外提供的函数,定义时都用static修饰,将该函数的链接属性限定在本文件; 2.函数命名时,在每个函数的名字前都加上库的名称,一般库的名字是唯一且不重合的; 3.全局变量如果只在本文件中使用,最好也使用static修饰;