Golang的自定义包结构

   最近,一直在研究Go语言。语言的思想很新颖,多方面因素也让我着实喜欢这门语言。每个语法点都较为简单实用,自己也较为轻松地就学会了。But,遇到Go语言里的自定义包时,确实让我头大了一会。第一次尝试自定义包,是在帮自己的室友配Go环境的时候。当时配完环境之后,第一件事就是"Hello world"这可能是世界通用的编程输出语句吧。我突发奇想,想把这句"Hello world"放在另外一个包中,通过跨包调用的方式来将该语句输出。本以为和Java一致,创建一个包,创建一个相应的文件。直接调用就可以了。结果这样做了之后,有些懵。编译器告诉我,“我不知道这是啥子。。。”。倒腾了一晚上,一看时间都一点了。舍友都见周公去了。没办法。

   百度了无数内容,确实没找到合适的教程,-_-!,没办法还是自己来吧。跪着求了一个大神给我进行了一系列的讲解,终于茅塞顿开。一直没发现自己的错误就是在包名上。解决之前,问题在我看来像座山一样。解决之后,问题却像一粒沙。关键在与,你想不想得通。稀稀拉拉扯了半天,开始整理内容吧。
   在Go语言中,如果要使用自定义包有两种方法。

   第一种方法为将自定义的包和包中的文件放入GOPATH中,一般默认的就是你安装go文件夹下的src文件夹。

这里写图片描述

  放入此处之后,代码中的import将可以直接写为如下形式:

这里写图片描述

   这样的好处是看起来较为简介,而且不需要做其他处理。但我认为这种方法不够优雅,把所有的自定义包都甩到src中,总是觉得怪怪的,毕竟一个是人家自带的,一个是自己写的。不好修改里边的内容不说,把别人的杂物放你家里,你大概也会不乐意吧?

 所以,我还是喜欢使用第二种方式来进行自定义包的使用,放在自己的项目里,自己好看好改,也不觉得奇怪。和第一种方法有点不同,你的自定义包和包中的文件都应放在当前项目中,而且包名一定不能写main。当时折腾了一晚上,就是这个地方没有注意到。想想咱家还是萌萌哒。所以,放在项目中,结构应该如下:

这里写图片描述

 这样放置自定义包就可以了。

 Tip:在同一个包中的不同文件里的不同函数或变量都是可以直接调用的,不需要import。

 那么,在import时,也要做出相应的调整:

这里写图片描述

   这样引用之后,就能正常使用了。在自定义包的文件中,使用什么包名你可以自行定义,文件夹名或者文件名都可,看当时编程的需要。

   千万别手贱或者自作聪明在"./pkg"后在加一个/,那样的话编译器是找不到对应的包的,而之中得到文件。然后,你就要和我一样倒腾到一点也不直到问什么出错。

   这就是一个简单的自定义包的使用整理,网上的教程很多,但讲真确实没弄明白,所以自己在总结一下,如果有初入门的兄弟姐妹也可以借鉴一下。有笔误或理解错误欢迎指出。最后,感谢群里的大神“codecore”给予我的帮助!
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值