第一回 ,如何写 go 代码

suncaishen · · 1826 次点击 · · 开始浏览    
这是一个创建于 的文章,其中的信息可能已经有所发展或是发生改变。

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 代码

入群交流(和以上内容无关):加入Go大咖交流群,或添加微信:liuxiaoyan-s 备注:入群;或加QQ群:692541889

1826 次点击  
加入收藏 微博
添加一条新回复 (您需要 登录 后才能回复 没有账号 ?)
  • 请尽量让自己的回复能够对别人有帮助
  • 支持 Markdown 格式, **粗体**、~~删除线~~、`单行代码`
  • 支持 @ 本站用户;支持表情(输入 : 提示),见 Emoji cheat sheet
  • 图片支持拖拽、截图粘贴等方式上传