赖思与甜甜,有趣有料有温度,技术学习有思路!
Go提供了便利的包形式,项目合作开发过程中,包的使用有哪些使用细节及注意事项?
让赖思来给我们详细的讲一下吧!
![1.jpg](https://upload-images.jianshu.io/upload_images/2886597-6621cb8a709a6039.jpg?imageMogr2/auto-orient/strip%7CimageView2/2/w/1240)
![2.jpg](https://upload-images.jianshu.io/upload_images/2886597-e61a9fe8b9c3cd01.jpg?imageMogr2/auto-orient/strip%7CimageView2/2/w/1240)
包的本质实际上就是文件夹,存放着程序文件。如图:
![3.png](https://upload-images.jianshu.io/upload_images/2886597-d838b263e2eadfdd.png?imageMogr2/auto-orient/strip%7CimageView2/2/w/1240)
go_research 项目目录下,有多个不同的文件夹,代表不同的功能包。
不同功能的包下的函数,导入后,通过包名.函数名即可调用。所以即使重名,只要所属不同的包,就是没问题的。
例如:分别在db包和util包中定义Call函数,然后通过import将包导入main文件中,通过包名.Call来调用不同函数即可。![4.jpg](https://upload-images.jianshu.io/upload_images/2886597-5bbc7dfaff0ab0d8.jpg?imageMogr2/auto-orient/strip%7CimageView2/2/w/1240)
关于包的其他使用注意事项及细节如下:
- 文件夹名也就是包名,一般为小写英文,包名最好代表包的功能,见名知意。
- 当包外文件要使用包内函数或变量时,需要先引入对应的包。(同时包内函数和变量要遵守导入规则,首字母大写)
- 如果包名较长,Go 支持给包取别名;
注意:取别名后,原来的包名就不能使用了![5.png](https://upload-images.jianshu.io/upload_images/2886597-4aab2aa839d81e60.png?imageMogr2/auto-orient/strip%7CimageView2/2/w/1240)
- 同一个包下,即使是不同文件,也不能有相同的函数或变量名
- 如果你的项目要独立运行,编译成可执行程序文件,项目主目录中需要就需要有 main.go文件 ;如果你是写一个合作的库 ,包名可以自定义,包内不需要main.go文件;
**最后总结下,包的作用:**
1. 区分相同名字的函数、变量等标识符
2. 当程序文件很多时,可以很好的管理项目
3. 控制函数、变量等访问范围,即作用域
![6.jpg](https://upload-images.jianshu.io/upload_images/2886597-014ef38938788586.jpg?imageMogr2/auto-orient/strip%7CimageView2/2/w/1240)
***
有趣有料有温度,和我一起学技术!
欢迎关注公众号 来思Go,收看更多赖思与甜甜的技术学习日常。
![qrcode_for_gh_001cc6fab7ac_258 (2).jpg](https://upload-images.jianshu.io/upload_images/2886597-92d2bde3efe2d33b.jpg?imageMogr2/auto-orient/strip%7CimageView2/2/w/1240)
有疑问加站长微信联系(非本文作者))