go语言import导入包的一些规则

您所在的位置:网站首页 go语言导入自定义包 go语言import导入包的一些规则

go语言import导入包的一些规则

2022-05-29 08:43| 来源: 网络整理| 查看: 265

Google_Go_language.jpg

(没事go一下)

go语言的包 如果你是C语言、C++ 或者 flash语言 出身 ,写起来会很蛋疼些

go语言import 关键字导入的 并不是 一个真正的包,而是一个文件夹的路径

看代码:这是一个main1.go文件的源码

OK 看上面我的代码 import的都是一个带有1的文件夹(我故意加上的)

而引用使用的时候,必须使用 包名调用其函数:例如 catlog.Debug("log OK")

看我的 catlog1文件夹下 log.go文件如何写的:

OK 可以看到我 package关键字后面定义的 名字为 catlog 的包名

是不是颠覆了些你以往对import的理解?!做过java的理解会好些。

还有一个关键的地方:  一个文件夹下 不能定义2个不同的包名,这样编译器会报错:

main.go:4:2: found packages netClient.go (netClient) and netClientTest.go (netClient2) in C:\xxoo目录下

编译器的意思就是在同一个目录下 居然发现2个包名 这是不应该的!

所以 我就重新建立了netClient1 和 netClient2放在2个目录下 就可以定义不同的包了,或者放在同一目录下

把package 的包名为相同的!

另外: package 包名(区分大小写)

          import   文件夹名(不区分大小写)

          import  多层文件目录时 请使用"/"隔开 如果使用"\" 报错 main.go:5:2: invalid import path: "xxxx\xxxx"

OK  (以上我均测试过)大家可以写代码验证下。

总结:

1:go语言import 关键字导入的 并不是 一个真正的包,而是一个文件夹的路径

2: 一个文件夹下 不能定义2个不同的包名

3:package 包名 (区分) 大小写

4: import   文件夹名  (不区分) 大小写

5:go文件的名字随意命名,调用依赖 包+函数(或者 包+其他)

6:import 多层文件夹时候请使用 ("  /  ") 隔开,写成("  \ ")会报错

其他:还有(.a文件)的一些问题以后再讨论,我理解也不透彻



【本文地址】


今日新闻


推荐新闻


CopyRight 2018-2019 办公设备维修网 版权所有 豫ICP备15022753号-3