漫画Go语言包使用的注意事项和细节

kep-w · · 802 次点击 · · 开始浏览    
这是一个创建于 的文章,其中的信息可能已经有所发展或是发生改变。

赖思与甜甜,有趣有料有温度,技术学习有思路! 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)

有疑问加站长微信联系(非本文作者))

入群交流(和以上内容无关):加入Go大咖交流群,或添加微信:liuxiaoyan-s 备注:入群;或加QQ群:692541889

802 次点击  
加入收藏 微博
暂无回复
添加一条新回复 (您需要 登录 后才能回复 没有账号 ?)
  • 请尽量让自己的回复能够对别人有帮助
  • 支持 Markdown 格式, **粗体**、~~删除线~~、`单行代码`
  • 支持 @ 本站用户;支持表情(输入 : 提示),见 Emoji cheat sheet
  • 图片支持拖拽、截图粘贴等方式上传