golang在linux环境下自定义包(一招解决问题)

本文针对Golang初学者,详细介绍了在Linux环境下如何自定义包,包括Go语言的安装、环境变量配置、自定义包的使用方法。重点讲解了在import时需使用相对路径,以及不推荐将自定义包放入系统src目录下的做法。同时,文章提及Windows环境下Goland使用自定义包的解决方案,并提供了相关参考资料。

由于是go语言新手,有些简单的问题处理起来有点困难。现在从go安装到运行详细地说起

关于go语言在linux环境下自定义包的问题困扰了我好大一会。

下面我就从前往后详细地说一下解决方法,一招解决问题。

(I)linux下解决,从go安装开始说起

命令安装比直接在先下载golang安装包解压安装更快更方便,当然命令直接安装的版本只有1.6,现在很多开源项目都支持更高的版本了,所以如果我们需要更高的版本,可以现在go官网上下载,手动安装,这里也就不再详细叙述了。

(1)下载安装go

$sudo apt-get install golang

(2)查看一下是否安装成功,显示如下证明安装成功

 (3)配置GOROOT和GOPATH,GROOT是go的安装的位置,GOPATH是开发工程存放的位置(也就是我们常说的workspace)。

关于GOPATH的设置方式,网上有两种设置方式,推荐第二种方式安装。分别如下:

单个用户配置:一种是在 ~/.bashrc文件末尾加上如下环境变量

$ vim ~/.bashrc

 然后将开发工程的目录添加到里面

然后重新加载环境变量到内存

$source ~/.bashrc

 多用户配置(推荐):另外一种方法是在/etc/profile文件中添加

vim /etc/profile # 文件末尾添加以下内容

 

重新加载 profile 文件,加载环境变量到内存

$source /etc/profile

 查看go版本

$go version

 

(II) 自定义包使用

自定义包使用,是在刚才的配置正确为前提下使用和处理的。

这里也有两种方法实现,看下下面的代码就知道了,这里参考博文https://blog.youkuaiyun.com/u010164190/article/details/80830941

1.demo.go代码
package main
//方式1:./pac为当前目录路径
import ("./pac")
 
//方式2:将pac.go拷贝到/usr/local/Cellar/go/1.8.3/libexec/src/pac系统目录下
//import ("pac")
 
func main() {
   pack.Printt("Hello")
}
 
2.在同级目录下创建pac目录,在pac目录下创建pac.go
package pack
import ("fmt")
func Printt(x string) {
	fmt.Printf(x + " Go World.\n")
}
 
3.测试运行
# go run demo.go

上面代码的重点在于两处:

(1)一个是demo.go和pack包在同一个文件夹下,然后在demo.go中调用pack的时候是import("./pac"),注意在import的时候是“./pac”而不是“pac”,pac是不行的,我尝试过。之前一直使用错误的地方也就在于此。

当然我们习惯性地,在工程下创建三个目录

其中src下存放源码,bin下存放编译的文件。

案例展示:下面就是我写的一个main.go文件,想调用gpool包

 

(2)另一个方法是,找到go的安装包,添加自己创建的包(这个不常用,也不是根本解决办法倒是真的,不建议这样使用,但是还是在这里说一下吧)。一般使用命令安装go的时候都是安装在/usr/local,或者/usr/lib中,我的就是在/usr/lib中,如下图所示,

找到继续展开找到src文件夹,然后将创建的包放到src下面就行了。当然不推荐这种做法啦

(III)关于windows下使用goland使用自定义包的问题

请参考我的另外一篇文章,里面说得很清晰了。博文链接:https://blog.youkuaiyun.com/Homewm/article/details/85208680

纯手工打,不喜勿喷,喜欢点个赞呗。

参考链接:

https://www.jianshu.com/p/c45f8cdca214

https://blog.youkuaiyun.com/u010164190/article/details/80830941

https://www.cnblogs.com/tinywan/p/6928300.html

https://blog.youkuaiyun.com/qq_15437667/article/details/80482035

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值