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语言中切片与内存复制 memcpy 的实现操作
Apr 27 Golang
Go语言切片前或中间插入项与内置copy()函数详解
Apr 27 Golang
golang在GRPC中设置client的超时时间
Apr 27 Golang
解决Golang time.Parse和time.Format的时区问题
Apr 29 Golang
完美解决golang go get私有仓库的问题
May 05 Golang
Goland使用Go Modules创建/管理项目的操作
May 06 Golang
go 实现简易端口扫描的示例
May 22 Golang
修改并编译golang源码的操作步骤
Jul 25 Golang
Go 通过结构struct实现接口interface的问题
Oct 05 Golang
Go语言 详解net的tcp服务
Apr 14 Golang
实现GO语言对数组切片去重
Apr 20 Golang
Go gorilla/sessions库安装使用
Aug 14 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
php数组查找函数总结
2014/11/18 PHP
记录一次排查PHP脚本执行卡住的问题
2016/12/27 PHP
ECMAScript 创建自己的js类库
2012/11/22 Javascript
如何获取select下拉框的值(option没有及有value属性)
2013/11/08 Javascript
对new functionName()定义一个函数的理解
2014/05/22 Javascript
js实现TAB切换对应不同颜色的代码
2015/08/31 Javascript
MVC Ajax Helper或Jquery异步加载部分视图
2015/11/29 Javascript
深入分析javascript中的错误处理机制
2016/07/17 Javascript
javascript实现滚动效果的数字时钟实例
2016/07/21 Javascript
javascript中json基础知识详解
2017/01/19 Javascript
Vue下的国际化处理方法
2017/12/18 Javascript
vue自动化表单实例分析
2018/05/06 Javascript
Vue全局分页组件的实现代码
2018/08/10 Javascript
nodejs实现范围请求的实现代码
2018/10/12 NodeJs
angular 服务的单例模式(依赖注入模式下)详解
2018/10/22 Javascript
JS实现选项卡效果的代码实例
2019/05/20 Javascript
解决vue里a标签值解析变量,跳转页面,前面加默认域名端口的问题
2020/07/22 Javascript
JavaScript Html实现移动端红包雨功能页面
2021/01/10 Javascript
[01:06:39]DOTA2上海特级锦标赛主赛事日 - 1 胜者组第一轮#1Liquid VS Alliance第三局
2016/03/02 DOTA
深入解析Python编程中JSON模块的使用
2015/10/15 Python
python将.ppm格式图片转换成.jpg格式文件的方法
2018/10/27 Python
python截取两个单词之间的内容方法
2018/12/25 Python
Python实现SQL注入检测插件实例代码
2019/02/02 Python
python如何实现数据的线性拟合
2019/07/19 Python
Python一键查找iOS项目中未使用的图片、音频、视频资源
2019/08/12 Python
Python Django Cookie 简单用法解析
2019/08/13 Python
Python实现图片识别加翻译功能
2019/12/26 Python
python 使用paramiko模块进行封装,远程操作linux主机的示例代码
2020/12/03 Python
想学画画?python满足你!
2020/12/24 Python
Canvas 文字碰撞检测并抽稀的方法
2019/05/27 HTML / CSS
Abe’s of Maine:自1979以来销售相机和电子产品
2016/11/21 全球购物
关于幼儿的自我评价
2013/12/18 职场文书
2014年协会工作总结
2014/11/22 职场文书
作文批改评语
2014/12/25 职场文书
安全员岗位职责范本
2015/04/11 职场文书
那些美到让人窒息的诗句,值得你收藏!
2019/08/20 职场文书