红联Linux门户
Linux帮助

【go】继续go go go,ubuntu环境搭建及golang的依赖关系分析

发布时间:2016-07-01 15:44:54来源:linux网站作者:puyangsky
这次是在ubuntu14.04 amd64上搭建go的编译环境,使用的IDE换成了sublime text,具体就不赘述了。
 
关于依赖分析,应该算是比较头疼的地方了。花了点时间看了语法,发现除了一些很不一样的地方比如类型放在变量后面等,其他大多跟C和java类似,很容易上手。
 
下面以一个小例子来说明golang是怎么import一个包的:
首先我们在自己的主目录下创建一个文件夹test,里面创建一个go文件,test.go,内容如下:
package test
import "fmt"
func Test() {
fmt.Printf("This is test->Test func\n")
}
接着我们需要把这个包编译一下,简单,对着这个目录go install 或者go bulid,结果如下:
【go】继续go go go,ubuntu环境搭建及golang的依赖关系分析
 
提示说没有设置GOPATH环境变量,ok,设置一下呗,然后继续build和install
export GOPATH=~/go
结果还是报错:
【go】继续go go go,ubuntu环境搭建及golang的依赖关系分析
 
然后我就去查了这gopath到底怎么设置,分析了gopath下应该有一个src文件夹,把源文件放这里面,完成之后再进行编译。
所以我在~/go文件夹下又建了一个src文件夹,把test文件夹移入到~/go/src下,之后再对test文件夹进行编译,go build test, go install test结果如下:
【go】继续go go go,ubuntu环境搭建及golang的依赖关系分析
什么都没显示,说明编译成功!
 
接着进行测试,在go目录下新建hello.go文件,内容如下:
package main
import "test"
func main() {
test.Test()
}
运行hello.go,go run hello.go,结果如下:
【go】继续go go go,ubuntu环境搭建及golang的依赖关系分析
到此,已经完成了自己建包并导入的过程。
 
后续:
后面我发现我修改了test.go之后,在没有再次编译的情况下直接运行hello.go,里面的内容没有发生变化。所以还需要再编译一下,我首先用了go build test,发现还是没变,然后用了go install test,这次就可以了,查看了一下go build 和go install的说明,发现如下:
【go】继续go go go,ubuntu环境搭建及golang的依赖关系分析
build只是编译,而install还将编译后的文件放入了pkg文件夹中,以为还是多用install,毕竟功能强大一些。
 
本文永久更新地址:http://www.linuxdiyf.com/linux/21976.html