Go介绍

   Go语言被誉为21世纪的C语言,由Google公司开发,天生对高并发有着优秀的支持。并且语法极度简洁,关键字仅有25个。

   所以使用Go语言时你不用担心自己写的和大神写的有着天差地别,Go语言开发者所书写的代码大家基本都是能看得懂的。

   值得一提的是Go的跨平台性,Go语言跨平台性强到令人发指,你甚至可以再windows下进行开发然后编译出linux下的二进制文件进行部署。

Go安装

   以下是Go语言的官网,点击下载进行安装即可。

  

Windows

   windows平台下的安装十分简单。当我们下载完安装程序后,双击打开进行安装即可。

  

  

  

  

  

Linux

   如果你习惯了在Linux下进行编码,则可以安装LinuxGolang

   当然,基于Golang的跨平台特性,你在window下进行安装和书写代码后编译为Linux下的可执行文件也可。

   选择你的Go版本,进行安装。

wget https://dl.google.com/go/go1.14.1.linux-amd64.tar.gz

   将下载好的文件解压到/usr/local目录下(建议使用root用户解压):

tar -zxvf go1.14.1.linux-amd64.tar.gz -C /usr/local  # 解压

   最后配置一下环境变量,: Linux下有两个文件可以配置环境变量,其中/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.14.1 linux/amd64

版本检查

   当安装完Go后,打开终端输入go version命令即可检查是否安装成功。

  

目录结构

   我们在windows下打开刚刚安装好的Go,可查看到如下的目录结构:

目录名 描述
api 每个版本的 api 变更差异
bin go 源码包编译出的编译器(go)、文档工具(godoc)、格式化工具(gofmt)
doc 英文版的 Go 文档
lib 引用的一些库文件
misc 杂项用途的文件,例如 Android 平台的编译、git 的提交钩子等
pkg Windows 平台编译好的中间文件
src 标准库的源码
test 测试用例

环境变量

GOROOT

   GOROOT为安装Go开发包的路径。

GOPATH

   GOPATH的路径需要我们自己在环境变量中进行配置,然后才可以使用Go语言进行开发。

   默认的在用户变量中,有一个GOPATH,我们可以将他修改为系统变量或者修改其中的值。

   修改任意值即可。

  

  

   在设置完环境变量后,使用go env可进行测试查看。

C:\Users\云崖先生>go env
set GO111MODULE=
set GOARCH=amd64
set GOBIN=
set GOCACHE=C:\Users\云崖先生\AppData\Local\go-build
set GOENV=C:\Users\云崖先生\AppData\Roaming\go\env
set GOEXE=.exe
set GOFLAGS=
set GOHOSTARCH=amd64
set GOHOSTOS=windows
set GOINSECURE=
set GOMODCACHE=D:\GoLeran\pkg\mod
set GONOPROXY=
set GONOSUMDB=
set GOOS=windows
set GOPATH=D:\GoLeran
set GOPRIVATE=
set GOPROXY=https://proxy.golang.org,direct
set GOROOT=D:\Go
set GOSUMDB=sum.golang.org
set GOTMPDIR=
set GOTOOLDIR=D:\Go\pkg\tool\windows_amd64
set GCCGO=gccgo
set AR=ar
set CC=gcc
set CXX=g++
set CGO_ENABLED=1
set GOMOD=
set CGO_CFLAGS=-g -O2
set CGO_CPPFLAGS=
set CGO_CXXFLAGS=-g -O2
set CGO_FFLAGS=-g -O2
set CGO_LDFLAGS=-g -O2
set PKG_CONFIG=pkg-config
set GOGCCFLAGS=-m64 -mthreads -fno-caret-diagnostics -Qunused-arguments -fmessage-length=0 -fdebug-prefix-map=C:\Users\ 云崖先生\AppData\Local\Temp\go-build516282802=/tmp/go-build -gno-record-gcc-switches

工程目录

   当配置完GOPATH的环境变量后,我们还需要创建一些文件夹。

   那么对于个人开发者和工程开发来说,都具有一个不同的目录结构。

个人开发

   在GOPATH中,我们编写的GO源码都应该存放于src文件夹下。

   注意:默认的GOPATH下的bin目录也会添加至环境变量中。

  

工程开发

   在工程开发中,推荐使用个人的Github域名来进行文件夹的命名。

   因为在Go语言中,是按照包来进行管理的,所以为了防止不同包的项目名冲突,就可以按照这种结构来组织目录。

  

编译执行

VScode工具包

   这里创建出了一个Go文件,并书写我们的第一个Go程序。

   在书写Go程序时,我们可以安装一些Go的工具包(需要先安装git)。

   首先需要设置GOPROXY,打开终端设置如下:

go env -w GOPROXY=https://goproxy.cn,direct

   打开vscodeWindows平台按下Ctrl+Shift+PMac平台按Command+Shift+P,这个时候vscode界面会弹出一个输入框,在其中输入如下命令:

Go:install/Update Tools

   然后全选,开始安装工具包。

  

  

Go编写

   接下来编写我们的第一个Go程序,命名为hello.go

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

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

func main() { // main 程序入口
fmt.Println("hello,world!!") // 终端打印
}

go build

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

   如下,我们将hello.go进行编译,在终端输入以下命令:

PS D:\GoLeran\src\yunya.com> go build -o hello.exe  // 将hello.go进行编译,编译的文件名为hello.exe
PS D:\GoLeran\src\yunya.com> .\hello.exe // 执行该文件
hello,world!!

   如果不使用-o,则将以上级目录名称作为编译后的文件名称。

   当然,你也可以在其他地方使用go build,后面跟上项目路径。

go install

   go install会自动进行编译,然后进行执行。

   它会将编译结果的可执行文件放在GOPATHbin目录下。

go run

   go run可以使go的源码文件立即进行执行而不进行编译。

D:\GoLeran\src\yunya.com>go run hello.go
hello,world!!

跨平台编译

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

   只需要指定目标操作系统的平台和处理器架构即可,在cmd下输入以下三条命令:

SET CGO_ENABLED=0  // 禁用CGO 使用了CGO的代码是不支持跨平台编译的
SET GOOS=linux // 目标平台是linux
SET GOARCH=amd64 // 目标处理器架构是amd64

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

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

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

   Linux下编译MacWindows平台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

Go 安装介绍的更多相关文章

  1. Redis安装介绍

    Redis安装介绍 一.Linux版本及配置 1.  Linux版本:Red Hat Enterprise Linux 6虚拟机 2.  配置: 内存:1G:CPU:1核:硬盘:20G 二.Redis ...

  2. Docker版本与安装介绍

    Docker版本与安装介绍 Docker-CE 和 Docker-EE Centos 上安装 Docker-CE Ubuntu 上安装 Docker-CE Docker-CE和Docker-EE Do ...

  3. 三、安装cmake,安装resin ,tars服务,mysql 安装介绍,安装jdk,安装maven,c++ 开发环境安装

    三.安装cmake,安装resin 2018年07月01日 21:32:05 youz1976 阅读数:308   开发环境说明: centos7.2 ,最低配置:1核cpu,2G内存,1M带宽 1. ...

  4. Docker版本与centos和ubuntu环境下docker安装介绍

    # Docker版本与安装介绍 * Docker-CE 和 Docker-EE * Centos 上安装 Docker-CE * Ubuntu 上安装 Docker-CE ## Docker-CE和D ...

  5. SharePoint 2016 必备组件离线安装介绍

    前言 SharePoint 必备组件安装,一直以来都是SharePoint安装过程中的最大的坑,尤其是不能联网的服务器.博主在这里简单介绍一下离线安装过程,并附组件包下载以及安装命令,并且在windo ...

  6. [Kafka] - Kafka 安装介绍

    Kafka是由LinkedIn公司开发的,之后贡献给Apache基金会,成为Apache的一个顶级项目,开发语言为Scala.提供了各种不同语言的API,具体参考Kafka的cwiki页面: Kafk ...

  7. SaltStack 安装介绍 01

    一.入门指南 1.1 SALTSTACK是什么? The backbone of Salt is the remote execution engine, which creates a high-s ...

  8. Percona XtraBackup 安装介绍篇

    XtraBackup介绍 XtraBackup是Percona公司的开源项目,用以实现类似Innodb官方的热备份工具InnoDB Hot Backup的功能,它支持在线热备份(备份时不影响数据读写) ...

  9. Python下Tesseract Ocr引擎及安装介绍

    1.Tesseract介绍 tesseract 是一个google支持的开源ocr项目,其项目地址:https://github.com/tesseract-ocr/tesseract,目前最新的源码 ...

  10. centos7下stf安装介绍(一)----环境搭建

    重要:node version需要8.x.x 介绍 stf 全称 Smartphone Test Farm ,一款WEB 端移动设备批量管理工具(Remote control all your Sma ...

随机推荐

  1. 简述BFS与DFS

    简述BFS与DFS 最近学习了数据结构课程以及应对蓝桥杯备考,所以花费了一点时间将比较重要的两个搜索BFS(宽度优先搜索)和DFS(深度优先搜索)大致思路以及代码整理出来,如有错误,还请各位大佬批评改 ...

  2. IDEA的Debug详解

    01_Debug简介和意义 什么是程序DeBug? Debug,是程序开发人员必会的一项调试程序的技能. 企业中程序开发和程序调试的比例为1:1.5,可以说如果你不会调试程序,你就没有办法从事编程工作 ...

  3. 我们真的需要JWT吗?

    JWT(JSON Web Token)是目前最流行的认证方案之一.博客园.各种技术公众号隔三差五就会推一篇JWT相关的文章,真的多如牛毛.但我对JWT有点困惑,今天写出来跟大家探讨探讨,不要喷哈. J ...

  4. Photon PUN 三 RPCs & RaiseEvent

    官方文档地址 https://doc.photonengine.com/en-us/pun/current/manuals-and-demos/rpcsandraiseevent 一, RPC   P ...

  5. Hihocoder 小Hi小Ho扫雷作死一二三

    这里贴下不用枚举方格是否为雷的方法 a表示输入标号,初始值为-1代表未探知 b表示当前格子是否有雷,初始化为0,0表示未探知,1表示探知肯定有雷,2表示探知肯定无雷(我也不知道为什么不初始化为-1,作 ...

  6. 安装JDK的攻略

    打开浏览器搜索JDK官网 单击Oracle下的JDK Download. 如果英语不好就直接打开浏览器自带翻译功能,根据自己的系统以及相应版本,下载对应的JDK 根据安装提示进行安装,路径自己选择. ...

  7. AWD 第二弹

    前言 小组第二次awd训练 万能密码登陆 首页发现一个登录界面,使用万能密码登陆 ' or 1=1#' 登陆成功后,发现Flag 任意文件上传 刚刚的后台界面存在上传按钮,可直接上传一句话木马 文件包 ...

  8. 企业邮箱选择,商务办公为什么选TOM企业邮箱?

    企业邮箱是工作中的重要工具,它可以帮助我们更规范的上传下达.更高效的管理工作,也是拓展合作伙伴的敲门砖及必杀技.比如写一封诚意满满的合作邀请,再比如重要关头写一封合作协议.毫不夸张,企业邮箱不仅能节省 ...

  9. shell 设置进程数运行

    问题描述 在服务器上提交任务时,需要限制运行的核的数目.程序本身是单线程的,但是不同的输入参数需要跑很多组,粗暴的方法是开多个终端,不断地去提交任务.但这比较麻烦,可以用 shell 实现. 基础 首 ...

  10. python基础三(集合、文件)

    1.集合定义 集合天生能去重,且与字典一样,无序.集合用大括号括起来,里面的元素之间用逗号分隔,要跟字典区分开. 集合定义方法:s=set() #定义一个空集合 s={'1','a','b','c', ...