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 相关文章推荐
Golang二维切片初始化的实现
Apr 08 Golang
win10下go mod配置方式
Apr 25 Golang
go原生库的中bytes.Buffer用法
Apr 25 Golang
golang中切片copy复制和等号复制的区别介绍
Apr 27 Golang
完美解决golang go get私有仓库的问题
May 05 Golang
Golang 编译成DLL文件的操作
May 06 Golang
go mod 安装依赖 unkown revision问题的解决方案
May 06 Golang
Golang生成Excel文档的方法步骤
Jun 09 Golang
基于Go语言构建RESTful API服务
Jul 25 Golang
详解Golang如何优雅的终止一个服务
Mar 21 Golang
Golang 遍历二叉树
Apr 19 Golang
Go Grpc Gateway兼容HTTP协议文档自动生成网关
Jun 16 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
yii2中添加验证码的实现方法
2016/01/09 PHP
Thinkphp单字母函数使用指南
2016/05/08 PHP
phpcms配置列表页以及获得文章发布时间
2017/07/04 PHP
PHP操作Redis常用技巧总结
2018/04/24 PHP
PHP常用日期加减计算方法实例小结
2018/07/31 PHP
JS控制网页动态生成任意行列数表格的方法
2015/03/09 Javascript
jQuery插件slick实现响应式移动端幻灯片图片切换特效
2015/04/12 Javascript
javascript实现tab切换的两个实例
2015/11/05 Javascript
实例浅析js的this
2016/12/11 Javascript
原生js实现焦点轮播图效果
2017/01/12 Javascript
JavaScript实现简单的星星评分效果
2017/05/18 Javascript
js实现随机数字字母验证码
2017/06/19 Javascript
vue 动态修改a标签的样式的方法
2018/01/18 Javascript
简述vue-cli中chainWebpack的使用方法
2019/07/30 Javascript
对layui数据表格动态cols(字段)动态变化详解
2019/10/25 Javascript
浅析Vue 中的 render 函数
2020/02/28 Javascript
vue中的双向数据绑定原理与常见操作技巧详解
2020/03/16 Javascript
vue中keep-alive内置组件缓存的实例代码
2020/04/16 Javascript
[50:02]完美世界DOTA2联赛PWL S2 Magma vs FTD 第三场 11.29
2020/12/03 DOTA
Python基础之函数用法实例详解
2014/09/10 Python
详解Python中break语句的用法
2015/05/14 Python
Python使用面向对象方式创建线程实现12306售票系统
2015/12/24 Python
浅谈Python类里的__init__方法函数,Python类的构造函数
2016/12/10 Python
python在文本开头插入一行的实例
2018/05/02 Python
python 把列表转化为字符串的方法
2018/10/23 Python
纯用NumPy实现神经网络的示例代码
2018/10/24 Python
python实现桌面气泡提示功能
2019/07/29 Python
python实现扫雷小游戏
2020/04/24 Python
利用Pycharm + Django搭建一个简单Python Web项目的步骤
2020/10/22 Python
毕业生的自我评价分享
2013/12/18 职场文书
反腐倡廉演讲稿
2014/05/22 职场文书
西部计划志愿者工作总结
2015/08/11 职场文书
2016年乡镇综治宣传月活动总结
2016/03/16 职场文书
自荐信范文
2019/05/20 职场文书
SpringCloud之@FeignClient()注解的使用方式
2021/09/25 Java/Android
解决MySQL添加新用户-ERROR 1045 (28000)的问题
2022/03/03 MySQL