专栏首页小白的成长之路Go 学习笔记 第一弹 mac 开发环境搭建
原创

Go 学习笔记 第一弹 mac 开发环境搭建

安装 Go

* 安装 brew install go

* 验证 go version

配置GOPATH

查看变量环境

执行 go env

修改变量环境

  1. cd ~ 进入根目录
  2. vim ~/.zshrc 编辑该文件如果没有安装 zsh 请运行vim ~/.bash\_profile
  3. 输入下列内容
```
export GOROOT=/usr/local/Cellar/go/1.13.1/libexecGOROOT=/usr/local/Cellar/go/1.13.1/libexec
export GOPATH=/Users/vincent/GoProject
export GOBIN=$GOPATH/bin
export PATH=$PATH:$GOBIN:$GOROOT/bin
``` 
  1. 使立即生效

source ~/.zshrc 如果没有安装 zsh 请运行 source ~/.bash\_profile

再输入 go env 可以看到刚才配置的自定义项目路径

配置说明

* GOROOT:安装目录(go语言安装目录)。

* GOPATH:工程目录(自己工程项目目录)。

* GOBIN:可执行文件目录。

* PATH:将go可执行文件加入PATH中,使GO命令与我们编写的GO应用可以全局调用。

GOPATH包含三个目录:bin、pkg、src

  1. src目录:源文件。
  2. pkg目录:编译好的库文件,主要是*.a文件。
  3. bin目录:可执行文件。

注意:千万不要把GOPATH设置成go的安装路径。

GO语言项目结构

在进行Go语言开发的时候,我们的代码总是会保存在$GOPATH/src目录下。在工程经过go buildgo installgo get等指令后,会将下载的第三方包源代码文件放在$GOPATH/src目录下, 产生的二进制可执行文件放在 $GOPATH/bin目录下,生成的中间缓存文件会被保存在 $GOPATH/pkg 下。

如果我们使用版本管理工具(Version Control SystemVCS。常用如Git)来管理我们的项目代码时,我们只需要添加$GOPATH/src目录的源代码即可。binpkg 目录的内容无需版本控制。

适合个人开发者

我们知道源代码都是存放在GOPATHsrc目录下,那我们可以按照下图来组织我们的代码。

目前流行的项目结构

Go语言中也是通过包来组织代码文件,我们可以引用别人的包也可以发布自己的包,但是为了防止不同包的项目名冲突,我们通常使用顶级域名来作为包名的前缀,这样就不担心项目名冲突的问题了。

因为不是每个个人开发者都拥有自己的顶级域名,所以目前流行的方式是使用个人的github用户名来区分不同的包。

举个例子:A和B都有一个名叫test的项目,那么这两个包的路径就会是:

import "github.com/A/test"

import "github.com/B/test"

以后我们从github上下载别人包的时候,如:

go get github.com/A/test

那么,这个包会下载到我们本地GOPATH目录下的src/github.com/A/test

使用GoLand 来编写 Go

其实也不用配置啥,新建项目时你需要填写 LocationGOPATH 就OK了

* Location:就是你的代码存放目录,这里的 /Users/vincent/GoProject 就是上面所说的 GOPATH 路径,可以使用 go env 来查看当前的GOPATH路径,/src 是源代码目录,你的项目必须放在这个目录下,/study 就是你的项目目录了,这个名称可以自己修改

* GOROOT:go安装路径,点击右边的箭头选择,会默认带出系统的go安装路径,选择就好

至此,go的安装与配置就好了。。。

原创声明,本文系作者授权云+社区发表,未经许可,不得转载。

如有侵权,请联系 yunjia_community@tencent.com 删除。

相关文章

  • laravel 学习之路 数据库操作 查询数据

    一旦配置好数据库连接后,便可以使用 DB facade 运行查询。 DB facade 为每种类型的查询提供了方法: select,update,insert,...

    风清醉
  • swoole入门 server 跟 client

    ###那么什么是server呢 ? 顾名思义就是服务端。up 平时接触比较多的无非就是 nginx 和 apache。作为 webServer,二者都是通过监...

    风清醉
  • 译 - 为什么要学习Go?

    在过去的几年中,出现了新的编程语言:Go或GoLang。没有什么比新的编程语言更使开发人员疯狂了,对吗?因此,我在4到5个月前开始学习Go语言,在这里我将告诉您...

    风清醉
  • win10-golang环境变量设置

    机器学习和大数据挖掘
  • 一则golang 内存溢出分析

    猜测是线程数配置的问题,查看engine.go的Init方法中各参数的作用,如下:

    开发架构二三事
  • C语言和go语言之间的交互 - C语言中使用go语言,使用的go语言又使用了c语言

    一、go语言中使用C语言 go代码中使用C代码,在go语言的函数块中,以注释的方式写入C代码,然后紧跟import “C” 即可在go代码中使用C函数 ? 代码...

    magicsoar
  • Go命令官方指南【原译】

    如果构建的参数是.go文件的列表,则build会将它们视为指定单个包的源文件列表。

    sunsky
  • Go 语言分享

    Go 语言从 2009 年发布第一版开始,逐渐变的流行,被人所熟知,但是很多人可能听说过 go,但是对 go 的特性并不是很了解,这里主要介绍 go 的一些关键...

    serena
  • go 命令

    建议使用 -gcflags "-N -l" 参数关闭编译器代码优化和函数 内联,避免断点和单步执行无法准确对应源码行,避免小函数和局部变量被优化掉。-o 指定存...

    solate
  • golang学习之win7下go环境搭建

    以下均采用windows64环境,首先是go的下载,go有msi安装安装和zip解压安装两种安装方式,使用msi安装后go环境会自动配置,zip解压后需手动配置...

    用户1141560

扫码关注云+社区

领取腾讯云代金券