知行合一
Choose a quality life!

1,windows,linux,mac的下载和安装:

  go官网下载地址:https://golang.org/dl/

  go官方镜像站(推荐):https://golang.google.cn/dl/

  注意;windows安装msi格式的安装包,一站式安装服务,安装目录自己定义,包你满意。

    linux下载的安装包是压缩后的安装包,将解压后的文件放到   /usr/local/   目录下,接着设置环境变量   /etc/profile   这个目录下进行配置,保存退出,记住要重启才能生效。

wget https://dl.google.com/go/go1.11.5.linux-amd64.tar.gz    //根据版本需要下载压缩包
mkdir -p /usr/local/go  // 创建目录
tar -C /usr/lcoal/go zxvf go1.11.5.linux-amd64.tar.gz. // 解压

//配置环境变量,其中/etc/profile是对所有用户生效的;$HOME/.profile是对当前用户生效的,二选一进行配置
export GOROOT=/usr/local/go
export PATH=$PATH:$GOROOT/bin


//修改/etc/profile后要重启生效,修改$HOME/.profile后使用source命令加载$HOME/.profile文件即可生效。
 ~ go version    //go version go1.11.5 linux/amd64

    mac安装和windows一样都是下载一个可执行的文件,根据提示进行配置。默认的存储位置在/usr/local/go这个存储目录下面

2,go环境变量的配置

    GOPATH是一个环境变量,用来表明你的go项目的存放路径。(工作目录)

    GOPATH路径最好只设置一个就行,所有的项目代码都放到GOPATH的src目录下

    这里就不做详细的描述了,套路跟python都是一样的。

3,go的项目结构

    在进行Go语言开发的时候,我们的代码总是会保存在$GOPATH/src目录下。

    在项目经过go buildgo installgo get等指令后,会将下载的第三方包源代码文件放在$GOPATH/src目录下,

    产生的二进制可执行文件放在 $GOPATH/bin目录下,生成的中间缓存文件会被保存在 $GOPATH/pkg 下。

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

4,  适合个人的开发目录结构:

    

    

    目前流行的项目结构:

      Go语言中也是通过包来组织代码文件,我们可以引用别人的包也可以发布自己的包,但是为了防止不同包的项目名冲突,

      我们通常使用顶级域名来作为包名的前缀,这样就不担心项目名冲突的问题了。

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

 

    比较适合公司开发的项目结构:

          

 

      

    

5,第一个go程序:

  Hello World

  现在我们来创建第一个Go项目——hello。在我们的GOPATH下的src目录中创建hello目录。

  在该目录中创建一个main.go文件:

package main  // 声明 main 包,表明当前是一个可执行程序

import "fmt"  // 导入内置 fmt 包

func main(){  // main函数,是程序执行的入口
	fmt.Println("Hello World!")  // 在终端打印 Hello World!
}

 在hello目录下执行:       go  build

 或者在其他目录执行:    go   build   hello               //   go编译器会在GOPATH的src目录下查找你要找的helllo项目

 小技巧:我们可以使用 -o   参数来指定编译后可执行文件的名字:       go   build  -o  heihei.exe        

     go install表示安装的意思,它先编译源代码得到可执行文件,然后将可执行文件移动到GOPATH的bin目录下。
     因为我们的环境变量中配置了GOPATH下的bin目录,所以我们就可以在任意地方直接执行可执行文件了。

 

6,跨平台编译

    默认我们go build的可执行文件都是当前操作系统可执行的文件,如果我想在windows下编译一个linux下可执行文件,那需要怎么做呢?

    只需要指定目标操作系统的平台和处理器架构即可:

SET CGO_ENABLED=0  // 禁用CGO
SET GOOS=linux  // 目标平台是linux
SET GOARCH=amd64  // 目标处理器架构是amd64

    然后再执行  go  build  命令,得到的就是可以在linux平台上运行的可执行文件了。

    Mac 下编译 Linux 和 Windows平台 64位 可执行程序:

CGO_ENABLED=0 GOOS=linux GOARCH=amd64 go build
CGO_ENABLED=0 GOOS=windows GOARCH=amd64 go build

    Linux 下编译 Mac 和 Windows 平台64位可执行程序:

CGO_ENABLED=0 GOOS=darwin GOARCH=amd64 go build
CGO_ENABLED=0 GOOS=windows GOARCH=amd64 go build

    Windows下编译Mac平台64位可执行程序:

SET CGO_ENABLED=0
SET GOOS=darwin
SET GOARCH=amd64
go build

  

好了,故事到这就告一段落了。

特此声明:

原文作者:https://www.liwenzhou.com/posts/Go/install_go_dev/(人送外号沙河小王子)

 

posted on 2019-05-16 16:13  小米没吃饭  阅读(225)  评论(0编辑  收藏  举报