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
Golang 实现获取当前函数名称和文件行号等操作
May 08 Golang
Golang实现AES对称加密的过程详解
May 20 Golang
go 实现简易端口扫描的示例
May 22 Golang
go语言使用Casbin实现角色的权限控制
Jun 26 Golang
golang内置函数len的小技巧
Jul 25 Golang
Golang表示枚举类型的详细讲解
Sep 04 Golang
Golang中channel的原理解读(推荐)
Oct 16 Golang
Go语言特点及基本数据类型使用详解
Mar 21 Golang
如何解决goland,idea全局搜索快捷键失效问题
Apr 03 Golang
golang使用map实现去除重复数组
Apr 14 Golang
Golang bufio详细讲解
Apr 21 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 过滤器实现代码
2010/08/09 PHP
深入解析PHP内存管理之谁动了我的内存
2013/06/20 PHP
Php output buffering缓存及程序缓存深入解析
2013/07/15 PHP
PHP抓取淘宝商品的用户晒单评论+图片+搜索商品列表实例
2016/04/14 PHP
PHP如何实现阿里云短信sdk灵活应用在项目中的方法
2019/06/14 PHP
thinkphp5 框架结合plupload实现图片批量上传功能示例
2020/04/04 PHP
JavaScript语言中的Literal Syntax特性分析
2007/03/08 Javascript
javascript+xml技术实现分页浏览
2008/07/27 Javascript
判断多个input type=file是否有已经选择好文件的代码
2012/05/23 Javascript
javascript将数组插入到另一个数组中的代码
2013/01/10 Javascript
Javascript和HTML5利用canvas构建Web五子棋游戏实现算法
2013/07/17 Javascript
jQuery 的全选(全非选)即取得被选中的值使用介绍
2013/11/12 Javascript
js生成的验证码的实现与技术分析
2014/09/17 Javascript
提升PHP安全:8个必须修改的PHP默认配置
2014/11/17 Javascript
jQuery中:button选择器用法实例
2015/01/04 Javascript
javascript中Object使用详解
2015/01/26 Javascript
javascript 实现map集合
2015/04/03 Javascript
Js+Ajax,Get和Post在使用上的区别小结
2016/06/08 Javascript
使用Nodejs连接mongodb数据库的实现代码
2017/08/21 NodeJs
js监听html页面的上下滚动事件方法
2018/09/11 Javascript
微信小程序车牌号码模拟键盘输入功能的实现代码
2018/11/11 Javascript
基于vue-cli3创建libs库的实现方法
2019/12/04 Javascript
vue实现数据控制视图的原理解析
2020/01/07 Javascript
JavaScript基于面向对象实现的无缝滚动轮播示例
2020/01/17 Javascript
[44:26]DOTA2上海特级锦标赛主赛事日 - 2 胜者组第一轮#4EG VS Fnatic第二局
2016/03/03 DOTA
跟老齐学Python之编写类之一创建实例
2014/10/11 Python
python设计模式大全
2016/06/27 Python
Python3监控疫情的完整代码
2020/02/20 Python
浅谈TensorFlow之稀疏张量表示
2020/06/30 Python
Python request post上传文件常见要点
2020/11/20 Python
生物科学专业个人求职信范文
2013/12/05 职场文书
优秀少先队员主要事迹材料
2014/05/28 职场文书
集体生日活动方案
2014/08/18 职场文书
九九重阳节标语
2014/10/07 职场文书
解析python中的jsonpath 提取器
2022/01/18 Python
python中的random模块和相关函数详解
2022/04/22 Python