GO基础

GOPATH在不同平台上的路径

GO项目结构

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

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

目前主流的项目结构

第一个go程序

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

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

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

go build表示将源代码编译成可执行文件,还可以使用-o参数来指定编译后可执行文件的名字。
go build hello
go编译器会去 GOPATH的src目录下查找要编译的hello项目

跨平台编译

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

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

 

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下PowerShell编译Linux平台64位可执行程序:

$ENV:CGO_ENABLED=0
$ENV:GOOS="linux"
$ENV:GOARCH="amd64"
go build

 

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

SET CGO_ENABLED=0  // 禁用CGO
SET GOOS=linux  // 目标平台是linux
SET GOARCH=amd64  // 目标处理器架构是amd64
go build
posted @ 2019-03-29 22:48  我是一条最咸的咸鱼  阅读(745)  评论(0编辑  收藏  举报
返回顶部