• Ubuntu14.04安装Go语言开发环境


    1、使用apt-get命令来安装Go环境

    apt-get install software-properties-common
    apt-get install python-software-properties
    add-apt-repository ppa:gophers/go
    apt-get update
    apt-get install golang-go git-core mercurial

    2、设置GOPATH变量,指定工作空间

    在当前目录下的.bashrc文件最后增加 export GOPATH=/opt/go

    echo "export GOPATH=/opt/go" >> ~/.bashrc

    重新加载.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
    ", mymath.Sqrt(2))
    }

      可以看到这个的package是main,import里面调用的包是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
  • 相关阅读:
    VLC播放器web插件接口(Part1)
    视频监控/存储系统设计要点
    CVR并发写入测试
    Darwin Streaming Server性能测试报告
    用Red5搭建支持WEB播放的实时监控视频
    RTSP协议-中文定义
    网格最短路径算法(Dijkstra & Fast Marching)
    三维网格精简算法(Quadric Error Metrics)附源码
    三维网格细分算法(Catmull-Clark subdivision & Loop subdivision)附源码
    网格测地线算法(Geodesics in Heat)附源码
  • 原文地址:https://www.cnblogs.com/jytx/p/5447394.html
Copyright © 2020-2023  润新知