第一回 ,如何写 go 代码

GOPATH 和 workspace

go语言的核心原则是保持简单,在项目构造 方面,源代码 和 和 构建脚本是 放在一起的,结构是固定的,就像maven那样。

先在path后多加一个 go(下载解压后的go包)的bin,使你可以自由使用go的命令

GOPATH 的系统环境变量,和ava_home 对于 java 不一样,目的是为了让go的命令和其它相关工具找到go的workspace

GOPATH d:\home\user\ext;d:\home\user\mygo
可以有多个,分号分开。unix中冒号分开。

每个workspace的结构

  • src contains Go source files,
  • pkg contains compiled package objects, and
  • bin contains executable commands

创建这三个文件夹。

然后就可以再src下 写 go的源文件了,

命令然后再 执行 go install 命令


对于sqrt.go文件 它的文件路径是D:\workspacego\src\example\newmath

D:\workspacego 是 gopath 

src 是源码目录

example算是项目名

newmath 这是代码中 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
}

而另外一个文件hello.go   D:\workspacego\src\example\hello

它的package是 main 代表了 他的 main函数是这个project的入口

不像上边的package要与文件目录名保存一致,如果是main则是 文件名与目录名保存一致

它会被转换为一个执行命令

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


go install example/hello
编译 安装命令

bin/
    hello              # command executable
pkg/
    linux_amd64/ 
        example/
            newmath.a  # package object
src/
    example/
        hello/
            hello.go   # command source
        newmath/
            sqrt.go    # package source
bin下会生成一个执行命令,在window下是hello.exe

本文来自:CSDN博客

感谢作者:suncaishen

查看原文:第一回 ,如何写 go 代码

郑重声明:本站内容如果来自互联网及其他传播媒体,其版权均属原媒体及文章作者所有。转载目的在于传递更多信息及用于网络分享,并不代表本站赞同其观点和对其真实性负责,也不构成任何其他建议。