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修饰;

 

posted @ 2023-03-16 15:36  liuxm-刘小明  阅读(31)  评论(0编辑  收藏  举报