首页 > 代码库 > Ubuntu系统下go语言环境的搭建

Ubuntu系统下go语言环境的搭建

1. 安装golang

sudo apt-get update
sudo apt-get install golang

2. 环境配置

vi /etc/profile

插入如下代码:

export GOROOT=/usr/lib/go
export GOARCH=386
export GOOS=Linux
export GOPATH=/opt/gopath
export GOBIN=$GOPATH/bin
export PATH=$GOPATH/bin:$PATH

重新加载.bashrc文件

source ~/.bashrc

3、工作空间的目录结构

/opt/go
    -src   存放源代码(.go .c .h .s等)
    -pkg  编译后生成的文件(.a)
    -bin  编译后生成的可执行文件

4、开发应用包(包名以mymath为例)

  在工作空间的src目录下创建mymath目录,其下创建源码文件 sqrt.go,内容如下:

// $GOPATH/src/mymath/sqrt.go源码如下:
package mymath

func Sqrt(x float64) float64 {
    z := 0.0
    for i := 0; i < 1000; i++ {
        z -= (z*z - x) / (2 * x)
    }
    return z
}

注意:一般建议package的名称和目录名保持一致

上面我们已经建立了自己的应用包,如何进行编译安装呢?有两种方式可以进行安装

  a、只要进入对应的应用包目录,然后执行go install,就可以安装了

  b、在任意的目录执行如下代码go install mymath

安装完之后,在$GOPATH/pkg/mymath/平台类型/目录下,有应用包mymath.a

 

5、开发可执行程序包(包名以mathapp为例)

  在工作空间的src目录下创建mathapp目录,其下创建源码文件 main.go,内容如下:

// $GOPATH/src/mathapp/main.go源码如下:
package main

import (
      "mymath"
      "fmt"
)

func main() {
      fmt.Printf("Hello, world.  Sqrt(2) = %v\n", mymath.Sqrt(2))
}
 

  可以看到这个的package是mainimport里面调用的包是mymath,这个就是相对于$GOPATH/src的路径,如果是多级目录,就在import里面引入多级目录

  进入该应用目录,然后执行go build,那么在该目录下面会生成一个mathapp的可执行文件。运行执行程序如下:

#./mathapp
Hello, world.  Sqrt(2) = 1.414213562373095

 

6、发布和执行程序

  在应用目录中,执行go install,那么在$GOPATH/bin/下增加了一个可执行文件mathapp,运行后如下:

#mathapp
Hello, world.  Sqrt(2) = 1.414213562373095

Ubuntu系统下go语言环境的搭建