美文网首页go
第二篇:macOS下Go开发环境的搭建+Go开发目录

第二篇:macOS下Go开发环境的搭建+Go开发目录

作者: 意一ineyee | 来源:发表于2018-03-09 10:48 被阅读251次

一、macOS下Go开发环境的搭建

二、Go开发目录的规则


一、macOS下Go开发环境的搭建

1、Go安装包的下载及安装
Go安装包下载
  • 安装

安装包下载完成后,双击安装包,按着流程走就可以了,系统会默认将安装包安装到/user/local/go目录下。

Go安装包默认安装目录

我们可以在打开命令行,输入命令go version来确认安装包是否已经成功安装,如果输出信息类似go version go1.10 darwin/amd64则代表安装成功,否则不成功我们需要额外处理。

2、Go几个重要的环境变量介绍

(1)GOROOT

  • Go安装包在电脑上安装的位置,macOS下默认是/usr/local/go

  • 我们一般不处理这个变量或者把它设置为GOROOT=/usr/local/go

(2)GOBIN

  • 编译器和链接器的安装位置,默认是$GOROOT/bin
  • 我们一般不处理这个变量或者把它设置为GOBIN=$GOROOT/bin

(3)PATH

  • 可执行文件的路径,即bin文件夹的路径;
  • 我们需要把GOROOT下的binGOPATH下的bin都添加到这个变量上,也是用冒号隔开,如PATH=$PATH:$GOROOT/bin:$GOPATH/bin,如果有多个GOPATH,我们可以使用PATH=$PATH:$GOROOT/bin:${GOPATH//://bin:}/bin来将所有GOPATH下的bin添加到PATH变量。

(4)GOPATH

  • 是我们为一个Go项目开辟的一个文件夹,即用来存放我们的源码文件、包文件和可执行文件的文件夹,默认和GOROOT一样,但是Go1.1开始我们必须把它修改为自定义的其它路径,在这个路径下我们必须创建srcpkgbin三个文件夹分别用来存放源码文件、包文件和可执行文件;
  • 我们需要把这个变量设置为自定义的路径,如GOPATH=/Users/yiyi/Desktop/GoTest;当然GOPATH也可以设置多个,多个路径之间用冒号:隔开,如GOPATH=自定义GOPATH1:自定义GOPATH2
3、LiteIDE环境变量的配置

LiteIDE是一款专为Go语言开发的IDE,LiteIDE下载地址。下载完打开App使用就可以了。

但是在使用LiteIDE开发Go程序之前,需要在LiteIDE这里配置一下Go环境变量。

  • 配置GOROOTGOBINPATH配置一遍后一般不需要再去管了,除非自己明确要改动
  • 配置GOPATH以后每创建一个新的Go项目,都需要在这里添加一个GoPath,否则编译会报错

二、Go开发目录的规则

1、Go项目的目录结构和包名必须符合一定的规则才能确保项目能跑起来:

  • 一个Go项目--该Go项目的主目录--下必须包含三个子目录:binpkgsrc
  • 我们的源代码都是必须创建在src文件夹里面的,因此我们每创建一个包就需要在src文件夹里创建一个子文件夹来存放这个包(文件夹名最好和包名起一致了,要不读起来不好读)

2、例如我们现在要创建一个简易的计算器,有如下目录结构:

11.png
  • 该项目的主目录为Calculator,其下包含binpkgsrc三个子目录;
  • src文件夹下有main文件夹用来存放main包的内容(即main.go文件),有simpleMath文件夹用来存放simpleMath包的内容(即add.go、sub.go、mul.go、div.go以及它们的单元测试文件都是属于simpleMath包的,所以它们放在同一个文件夹下)

接下来可以学习Go语言了。

比如我们现在写一个HelloWorld的项目,那么新建项目:

我们写代码如下:

/**
 *  每个Go源文件的开头都是一个package声明,表示该Go代码所属的包。包是Go语言里最基本的分发单位,也是工程管理中依赖关系的体现。
 *  要想生成Go可执行文件,就建立一个名为main的包,并且这个包里必须得有一个名为main()的函数最为Go程序的执行起点。
 */
package main

/**
 *  在包声明之后,是一系列的import语句,用于导入该程序所依赖的包。下面的Println()函数属于fmt包,所以此处引入。
 *  需要注意的是:不能在源文件中引入不使用的包,否则编译器会报错,就和花括号必须一个在上一个在下一样,在语言层面规范开发习惯。
 */
import "fmt"

/**
 * 所有的Go函数都必须以func开头,一个常规的函数定义包含以下部分
 * func 函数名(参数列表)(返回值列表) {

        // 函数体
    }
*/
func main() { // Go语言里的main()函数不能带参数、不能带返回值

    fmt.Println("Hello World!")
}

cmd+r运行,如下:


参考博客:Go路径及开发目录


相关文章

网友评论

    本文标题:第二篇:macOS下Go开发环境的搭建+Go开发目录

    本文链接:https://www.haomeiwen.com/subject/uekqxftx.html