博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
golang--安装、配置以及Hello World!
阅读量:4687 次
发布时间:2019-06-09

本文共 1499 字,大约阅读时间需要 4 分钟。

go的安装配置

安装

先到https://studygolang.com/dl下载go安装包,下一步下一步傻瓜式操作。

配置GOPATH

配置GOPATH

sudo vi ~/.bash_profileexport GOPATH=$HOME/go/                // 配置GOPATHexport PATH=$PATH:$GOPATH/bin/    // 配置bin目录环境变量

go项目结构

在配置好的GOPATH文件夹中新建三个目录:

  • bin:用来存放编译后生成的可执行文件
  • pkg:用来存放编译后生成的归档文件
  • src:用来存放源代码

适合个人开发者的项目结构

1128810-20190330150356002-876092011.png

当前流行的项目结构

1128810-20190330150536248-782319155.png

适合企业开发者的项目结构

1128810-20190330150631543-141023499.png

Hello World!

初学一门语言,最神圣的时刻一定是那个最经典的Hello World!,首先在src下创建一个目录study,然后创建一个main.go的文件。

package main  // 声明 main 包,表明当前是一个可执行程序import "fmt"  // 导入内置 fmt 包func main(){  // main函数,是程序执行的入口    fmt.Println("Hello World!")  // 在终端打印 Hello World!}

go build

go build表示将源代码编译成可执行文件。

在hello目录下执行:

go build

或在其他目录下执行:

go build hello

go编译器会去 GOPATH的src目录下查找你要编译的hello项目,编译得到的可执行文件会保存在执行编译命令的当前目录下。

我们还可以使用-o参数来指定编译后可执行文件的名字。

go build -o hello

go install

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

跨平台编译

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

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

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

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

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

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

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

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

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

SET CGO_ENABLED=0SET GOOS=darwinSET GOARCH=amd64go build

转载于:https://www.cnblogs.com/peilanluo/p/10627378.html

你可能感兴趣的文章
匹配两个空格之间的字符。。。
查看>>
CSS 文字溢出 变成省略号 ...
查看>>
Spring事务
查看>>
java编程基础(三)流程控制语句
查看>>
让数据库跑的更快的7个MySQL优化建议
查看>>
jquery 取id模糊查询
查看>>
解决在vue中,自用mask模态框出来后,下层的元素依旧可以滑动的问题
查看>>
修改node节点名称
查看>>
Java 文件下载
查看>>
图论——读书笔记 (深度优先搜索)
查看>>
PAT(B) 1014 福尔摩斯的约会(Java)
查看>>
PAT甲级题解-1123. Is It a Complete AVL Tree (30)-AVL树+满二叉树
查看>>
项目开发总结报告(GB8567——88)
查看>>
SSH加固
查看>>
端口扫描base
查看>>
iOS IM开发的一些开源、框架和教程等资料
查看>>
FansUnion:共同写博客计划终究还是“流产”了
查看>>
python 二维字典
查看>>
编译原理实验一
查看>>
Git for Android Studio 学习笔记
查看>>