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的可执行文件

 

原文地址:https://www.cnblogs.com/tinywan/p/6425647.html