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在GRPC中设置client的超时时间
Apr 27 Golang
go语言中json数据的读取和写出操作
Apr 28 Golang
golang elasticsearch Client的使用详解
May 05 Golang
完美解决golang go get私有仓库的问题
May 05 Golang
Golang中异常处理机制详解
Jun 08 Golang
Golang生成Excel文档的方法步骤
Jun 09 Golang
golang fmt格式“占位符”的实例用法详解
Jul 04 Golang
入门学习Go的基本语法
Jul 07 Golang
Golang并发操作中常见的读写锁详析
Aug 30 Golang
Go语言基础函数基本用法及示例详解
Nov 17 Golang
Go归并排序算法的实现方法
Apr 06 Golang
golang语言指针操作
Apr 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中常用编辑器推荐
2007/01/02 PHP
zend Framework中的Layout(模块化得布局)详解
2013/06/28 PHP
PHP的文件操作与算法实现的面试题示例
2015/08/10 PHP
ThinkPHP中limit()使用方法详解
2016/04/19 PHP
php将print_r处理后的数据还原为原始数组的解决方法
2016/11/02 PHP
JavaScript进阶教程(第四课第一部分)
2007/04/05 Javascript
msn上的tab功能Firefox对childNodes处理的一个BUG
2008/01/21 Javascript
jquery text,radio,checkbox,select操作实现代码
2009/07/09 Javascript
js动态创建表格,删除行列的小例子
2013/07/20 Javascript
一个简单的Node.js异步操作管理器分享
2014/04/29 Javascript
js实现同一页面多个不同运动效果的方法
2015/04/10 Javascript
Bootstrap实现下拉菜单效果
2016/04/29 Javascript
JS工作中的小贴士之”闭包“与事件委托的”阻止冒泡“
2016/06/16 Javascript
js中setTimeout的妙用--防止循环超时
2017/03/06 Javascript
jQuery插件zTree实现删除树子节点的方法示例
2017/03/08 Javascript
在vue项目中引用Iview的方法
2018/09/14 Javascript
BootStrap中的模态框(modal,弹出层)功能示例代码
2018/11/02 Javascript
使用Vue开发自己的Chrome扩展程序过程详解
2019/06/21 Javascript
vue实现拖拽的简单案例 不超出可视区域
2019/07/25 Javascript
通过js示例讲解时间复杂度与空间复杂度
2019/08/06 Javascript
JavaScript命令模式原理与用法实例详解
2020/03/10 Javascript
Python  __getattr__与__setattr__使用方法
2008/09/06 Python
在Python3中初学者应会的一些基本的提升效率的小技巧
2015/03/31 Python
python中的代码编码格式转换问题
2015/06/10 Python
Python聊天室实例程序分享
2016/01/05 Python
独特的python循环语句
2016/11/20 Python
python 删除指定时间间隔之前的文件实例
2018/04/24 Python
Python集合基本概念与相关操作实例分析
2019/10/30 Python
Python 寻找局部最高点的实现
2019/12/05 Python
在django中查询获取数据,get, filter,all(),values()操作
2020/08/09 Python
澳大利亚票务和娱乐市场领导者:Ticketmaster
2017/03/03 全球购物
加拿大品牌鞋包连锁店:Little Burgundy
2021/02/28 全球购物
世界地球日活动总结
2015/02/09 职场文书
销售经理工作检讨书
2015/02/19 职场文书
Java8中Stream的一些神操作
2021/11/02 Java/Android
了解Kubernetes中的Service和Endpoint
2022/04/01 Servers