怎样写Go代码

下面是一个简单的demo演示Go package和Go command。标准的方法用于读取,构建,和安装Go包和命令行(fetch, build, and install Go packages and commands) 。

  • go设计的目标是更容易写软件。它使用源码找寻依赖和构建条件。意味着你的源码和构建脚本总是同步进行,而且是同一个。

  • 你必须设置一个GOPATH环境变量。GOPATH 告诉go命令行到那里查找和安装go包。例如,GOPATH = C:\mygo  ,它指定了本地的工作空间,一个工作空间包括了  go源文件、相关联的包对象和可执行命令。工作空间规定包含3个子文件夹:

            src , 包含Go源文件。

            pkg ,包含已编译的包对象。

            bin ,包含可执行命令。

            C:\mygo下创建文件夹src, pkg, bin。

            环境变量设置 GOPATH (GOPATH = C:\mygo ) 和 path  (其中path设置如下 %GOPATH%\bin)。

  • src文件夹下面创建src/example/newmath/sqrt.go 源文件,源码如下 

    • // Package newmath is a trivial example package.

      package newmath

      // Sqrt returns an approximation to the square root of x.

      func Sqrt(x float64) float64 {
       // This is a terrible implementation.
       // Real code should import "math" and use math.Sqrt.
      z := 0.0
      for i:=0; i<1000; i++ {
            z -= (z*z - x) / (2 * x)
       }
      return z
      }

    • 构建和安装

    • 构建一个包

      执行命令: go install example\newmath

      windows下执行结果:

      C:\mygo\pkg\windows_386\example\newmath.a   # 包对象

      C:\mygo\src\example\newmath\sqrt.go  # 包源

    • 构建一个命令

      go 命令视代码包含 package main 作为一个可执行命令和二进制安装包放入到GOPATH的bin目录下。创建一个 example\hello\hello.go 源文件,go代码:

      //Hello is a trivial example of a main package.

      package main

      import (
       "example/newmath"
       "fmt"
      )

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

      执行命令: go  install example\hello

      windows下执行结果:

      C:\mygo\bin\hello.exe

    • 测试

      Go有一个轻量测试框架,$GOPATH\src\example\newmath\sqrt_test.go 源文件,包含go代码:

      package newmath

      import "testing"

      func TestSqrt(t *testing.T) {
        const in , out = 4, 2
        if x := Sqrt(in); x != out {
          t.Errorf("Sqrt(%v) = %v, want %v", in, x, out)
        }
      }

      执行命令: go test example\newmath

      结果: ok    example/newmath  0.081s

转载于:https://my.oschina.net/u/724854/blog/111409

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值