GO语言系列

Posted 麦克叔叔每晚10点说

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了GO语言系列相关的知识,希望对你有一定的参考价值。

翻译了golang语言的代码组织架构官方文档,供大家参考。


概述

  • Go开发人员需要确保所有的Go代码在同一个workspace下面

  • 一个workspace包括许多版本控制仓库(例如通过Git管理)

  • 每一个仓库包括一个或多个包

  • 每一个包由单一目录下的一个或者多个Go源文件组成

  • 包的目录路径决定了import的路径。


Workspaces

Workspace是一个目录层级,根节点包括三个文件夹:

  • Src:包括Go的源文件

  • Pkg:包括包对象

  • Bin:包括可执行命令


Src子文件夹一般由多个版本控制仓库组成(例如Git或Mercurial),用于跟踪一个或者多个源包的开发。我们来看一个示例,了解workspace如何工作的:

bin/

    hello                          # command executable

    outyet                         # command executable

pkg/

    linux_amd64/

        github.com/golang/example/

            stringutil.a           # package object

src/

    github.com/golang/example/

        .git/                      # Git repository metadata

         hello/

             hello.go               # command source

         outyet/

             main.go                # command source

             main_test.go           # test source

         stringutil/

             reverse.go             # package source

             reverse_test.go        # test source

    golang.org/x/image/

        .git/                      # Git repository metadata

         bmp/

             reader.go              # package source

             writer.go              # package source

... (many more repositories and packages omitted) ...

以上的树形结构显示了包含两个仓库(分别是example和image)的workspace。Example仓库包括两个命名(hello和outyet),一个库(stringutil)。Image仓库包含bmp包。


GOPATH环境变量

GOPATH环境变量指定workspace的位置。默认是home目录下的go文件夹。你可以通过运行set GOPATH命令修改默认设置。

增加workspace的bin子文件夹到PATH:

$ export PATH=$PATH:$(go env GOPATH)/bin

$ export GOPATH=$(go env GOPATH)

发个小广告!!!走过路过,不要错过!新书来啦!!!

GO语言系列(五)
GO语言系列(五)
GO语言系列(五)

这里有你想买的书!

http://product.dangdang.com/23949549.html#ddclick_reco_reco_relate

麦克叔叔每晚十点说


以上是关于GO语言系列的主要内容,如果未能解决你的问题,请参考以下文章

Go语言系列1.4GO语言简介:第一个Go语言程序

Go语言自学系列 | go语言遍历map

Go语言自学系列 | go语言数据类型

Go语言自学系列 | go语言布尔类型

Go语言自学系列 | go语言中的流程控制

Go语言系列1.3GO语言简介:Go语言开发的知名项目