zoukankan      html  css  js  c++  java
  • Golang入门教程(一)GOPATH与工作空间(Windows)

    https://github.com/astaxie/build-web-application-with-golang/blob/master/zh/01.2.md

    Windows 环境:

    下面我就以mymath为例来讲述如何编写应用包:

    cd $GOPATH/src  mkdir mymath   // 我的环境:$GOPATH = c:mygo

    新建文件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
    }

    在默认的src文件夹下面的这个mypath是我自己新建的

    编译应用

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

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

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

    红色的表示没有新建这个mypath文件夹和sqrt.go文件,绿色的是我新建好后运行的命令,没有报错误

    安装完之后,我们可以进入如下目录

    cd $GOPATH/pkg/${GOOS}_${GOARCH}
    //可以看到如下文件
    mymath.a

    我的路径(查看刚才生成的文件路径):

    C:Gopkgwindows_amd64

    这个.a文件是应用包,那么我们如何进行调用呢?接下来我们新建一个应用程序来调用这个应用包,新建应用包mathapp

    cd $GOPATH/src
    mkdir mathapp
    cd mathapp
    vim main.go

    这时候切换出Go的系统默认安装目录,进入自己新建的环境目录(我的:C:mygosrcmathapp)

     $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里面引入多级目录,如果你有多个GOPATH,也是一样,Go会自动在多个$GOPATH/src中寻找。

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

     

  • 相关阅读:
    洛谷 3455 (莫比乌斯反演优化)
    HDU 1695 GCD (莫比乌斯反演模板)
    BZOJ 2818 Gcd(欧拉函数+质数筛选)
    欧拉函数(总结)
    Matrix(二维树状数组)入门第一题
    P3919 【模板】可持久化数组(可持久化线段树/平衡树)(入门第一题)
    Color the ball(树状数组区间更新+单点求值)
    快写
    欧拉筛
    D. Magic Breeding
  • 原文地址:https://www.cnblogs.com/tinywan/p/6425647.html
Copyright © 2011-2022 走看看