Go 自定义package包设置与导入操作


Posted in Golang onMay 06, 2021

package 包导入记录

首先需要知道2个值

$GOROOT

$GOPATH

第二个值可以设置多个,2个值之间使用冒号:做连接。

系统找包的时候,会去对应路径下的src中去寻找。比如,我在path目录的src目录下新建文件夹HelloWorld,其中有一个文件printHelloWorld.go。

Go 自定义package包设置与导入操作

其对应的代码为:

package HelloWorld
import "fmt"
func PrintHelloWorld(){
	fmt.Print("Hello World\r\n")
	printILoveYou()
}
// 注意,小写的 printILoveYou 是没法在外部调用的,只能在内部调用
func printILoveYou()  {
	fmt.Print("I love you\r\n")
}

在外部,非path目录下时,可以直接新建一个main包,这里声明一下main包的作用,其实就是项目的起点,比如我们上面建立的包,其实可以算是辅助包,里面编写的所有代码都是函数,要不是供内部调用的,要不就是供外部调用的,而main包,就是一个项目的入口,只要你将main包和项目相关联,就不会纠结于我需要几个main包这样的问题了。

一个目录下只能有一个 main 包,语法上是这样规定的

Go 自定义package包设置与导入操作

补充:go语言导入不了自己写的包,go语言中gopath作用

初试go语言,按照文档的要求配置好了gopath后,一直不知道干什么用。。。

然后写了第一个demo后发现倒不如不了自己写的包,然后翻回头才看gopath

结构如下

Go 自定义package包设置与导入操作

bin为生成的可执行文件

pkg为编译好的文件

src为项目源码文件

之前做java项目都会设置个workpath工作目录,其实这个src跟这个是一个意思,就是放你工程源码的地方,之前导入不进包因为项目放在自建的一个workpath下了

以上为个人经验,希望能给大家一个参考,也希望大家多多支持三水点靠木。如有错误或未考虑完全的地方,望不吝赐教。

Golang 相关文章推荐
为什么不建议在go项目中使用init()
Apr 12 Golang
go语言求任意类型切片的长度操作
Apr 26 Golang
golang中切片copy复制和等号复制的区别介绍
Apr 27 Golang
Go语言切片前或中间插入项与内置copy()函数详解
Apr 27 Golang
golang中的空slice案例
Apr 27 Golang
golang 比较浮点数的大小方式
May 02 Golang
解决golang 关于全局变量的坑
May 06 Golang
go web 预防跨站脚本的实现方式
Jun 11 Golang
Go语言基础知识点介绍
Jul 04 Golang
Go 语言结构实例分析
Jul 04 Golang
Golang MatrixOne使用介绍和汇编语法
Apr 19 Golang
Golang map映射的用法
Apr 22 Golang
goland 设置project gopath的操作
解决Goland 同一个package中函数互相调用的问题
浅谈golang package中init方法的多处定义及运行顺序问题
golang switch语句的灵活写法介绍
May 06 #Golang
go语言中fallthrough的用法说明
Golang之sync.Pool使用详解
May 06 #Golang
Golang 编译成DLL文件的操作
May 06 #Golang
You might like
substr()函数中文版
2006/10/09 PHP
php中批量修改文件后缀名的函数代码
2011/10/23 PHP
destoon实现调用图文新闻的方法
2014/08/21 PHP
Laravel框架中队列和工作(Queues、Jobs)操作实例详解
2020/04/06 PHP
基于jQuery的获取标签名的代码
2012/07/16 Javascript
利用div+jquery自定义滚动条样式的2种方法
2013/07/18 Javascript
jquery中的过滤操作详细解析
2013/12/02 Javascript
当前流行的JavaScript代码风格指南
2014/09/10 Javascript
jQuery simplePage+AJAX plus分页插件用法实例
2016/02/17 Javascript
详解vue2路由vue-router配置(懒加载)
2017/04/08 Javascript
jQuery 中msgTips 顶部弹窗效果实现代码
2017/08/14 jQuery
理解javascript async的用法
2017/08/22 Javascript
基于ionic实现下拉刷新功能
2018/05/10 Javascript
Vue验证码60秒倒计时功能简单实例代码
2018/06/22 Javascript
jQuery实现为动态添加的元素绑定事件实例分析
2018/09/07 jQuery
vue实现浏览器全屏展示功能
2019/11/27 Javascript
vue和H5 draggable实现拖拽并替换效果
2020/07/29 Javascript
vue 调用 RESTful风格接口操作
2020/08/11 Javascript
Ruby使用eventmachine为HTTP服务器添加文件下载功能
2016/04/20 Python
python 性能优化方法小结
2017/03/31 Python
Python简单实现控制电脑的方法
2018/01/22 Python
python脚本作为Windows服务启动代码详解
2018/02/11 Python
Python利用matplotlib.pyplot绘图时如何设置坐标轴刻度
2018/04/09 Python
Python 根据日志级别打印不同颜色的日志的方法示例
2019/08/08 Python
美国领先的汽车轮胎和轮毂供应商:TireBuyer
2016/07/21 全球购物
NYX Professional Makeup官方网站:专业彩妆和美容产品
2019/10/29 全球购物
C/C++程序员常见面试题一
2012/12/08 面试题
行政管理专业推荐信
2013/11/02 职场文书
青年创业培训欢迎词
2014/01/08 职场文书
关于美容院的活动方案
2014/08/14 职场文书
房屋财产继承协议书范本
2014/11/03 职场文书
2015中学政教处工作总结
2015/07/22 职场文书
小学语文新课改心得体会
2016/01/22 职场文书
详解MongoDB排序时内存大小限制与创建索引的注意事项
2022/05/06 MongoDB
Typescript类型系统FLOW静态检查基本规范
2022/05/25 Javascript
nginx七层负载均衡配置详解
2022/07/15 Servers