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

Posted puyangsky

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了go继续go go go,ubuntu环境搭建及golang的依赖关系分析相关的知识,希望对你有一定的参考价值。

这次是在ubuntu14.04 amd64上搭建go的编译环境,使用的IDE换成了sublime text,具体步骤参照的是 http://blog.csdn.net/aqiang912/article/details/46775409 ,我就不赘述了。

 

关于依赖分析,应该算是比较头疼的地方了。花了点时间看了语法,发现除了一些很不一样的地方比如类型放在变量后面等,其他大多跟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,结果如下:

 

提示说没有设置GOPATH环境变量,ok,设置一下呗,然后继续build和install

export GOPATH=~/go

 

结果还是报错,

 

然后我就去查了这gopath到底怎么设置呀,找到了这篇文章,http://www.jb51.net/article/56779.htm

里面分析了gopath下应该有一个src文件夹,把源文件放这里面,完成之后再进行编译。

所以我在~/go文件夹下又建了一个src文件夹,把test文件夹移入到~/go/src下,之后再对test文件夹进行编译,go build test, go install test结果如下:

什么都没显示,说明编译成功!

接着进行测试,在go目录下新建hello.go文件,内容如下:

package main

import "test"

func main() {
    test.Test()
}

运行hello.go , go run hello.go, 结果如下:

 

到此,已经完成了自己建包并导入的过程。

后续:

后面我发现我修改了test.go之后,在没有再次编译的情况下直接运行hello.go,里面的内容没有发生变化。所以还需要再编译一下,我首先用了go build test,发现还是没变,然后用了go install test,这次就可以了,查看了一下go build 和go install的说明,发现如下:

build只是编译,而install还将编译后的文件放入了pkg文件夹中,两者的区别讨论:http://www.golangtc.com/t/549ec036421aa9396a0000c7

私以为还是多用install,毕竟功能强大一些。

花了半天,对go语言研究了一下,做了些微小的工作,惭愧惭愧(笑脸。

以上是关于go继续go go go,ubuntu环境搭建及golang的依赖关系分析的主要内容,如果未能解决你的问题,请参考以下文章

Ubuntu16.04下搭建Go语言环境

Go 语言开发环境搭建及编写第一个Go程序

GO语言环境搭建 及 helloworld开发

Go语言开发环境搭建

Go语言环境搭建详解(2021版)

基于Ubuntu系统搭建以太坊go-ethereum源码的开发环境