golang package笔记

package用来管理维护golang工程的组织结构,用来分类及隔离 变量、定义数据结构、方法、函数的有效手段

特性如下

        1.类似java中的Class(当然有人会说struct才像,其实看你从那个角度去看),我的理解是,变量、方法、函数都是被package区分隔离开来的,例如同名变量、方法等都可以定义,并且被有效隔离

        2.packge以目录为单位管理,一个目录下的多个go文件必须是属于同一个package

        3.不同目录或子目录理论上可以定义同名package(例如 package apkg),但是实际使用中是绝对不提倡的,会引发如下问题

                a. 首先这样做会导致包管理看起来很混乱,阅读差,维护困难

                b.apkg定义在不同目录虽然可以,但是出现在同一个package都被引用时,会编译报错

                c.以b叙述情况为前提,非要同一个packge中引用,该怎么办,只需要引用package时给一个别名,由此引申,如果引用其他不同项目的package出现同名,也可以这样做

                        语法: import aaa "xxprj/xx目录/abc"

        4. package 引用时,可以给别名   例如

                定义package: package abc

                引用时可以有两种方式:

                                import "xxprj/xx目录/abc"

                                import aaa "xxprj/xx目录/abc"                                

猜你喜欢

转载自blog.csdn.net/m0_37298500/article/details/125942247