GO语言学习(一)之Go语言环境

Go的应用领域

        1.可以做区块链

        区块链简称BT被称为分布式账本技术是一种互联网的数据库技术其特点是去中心化,公开透明让每一个人均可参与数据库记录。----区块链与数字货币

        2.后台的服务应用

        美团主站后台流量提供负载均衡,cache,容错,按条件分流,统计运行指标等功能

        3.云计算/云服务的后台应用

        例如:盛大云CDN和京东消息推送云服务/京东分布式文件系统

Windows中VSCode的安装

vscode的安装

下载vscode安装软件

https://code.visualstudio.com/download

  下载

 安装

下一步

 下一步

 安装后默认是C盘

设置中文Chinese (Simplified)

 到此安装成功

安装插件 Live Server

 设置打开的默认浏览器

Windows搭建Go开发环境

安装和配置SDK

Go语言的官网为GoLang.org,因为各种原因,可能无法访问。

SDK下载地址:GoLang中国Downloads - The Go Programming Language

Windows平台和Mac平台推荐下载可执行文件版,Linux平台下载压缩文件版。

下图中的版本号可能并不是最新的,但总体来说安装教程是类似的。Go语言更新迭代比较快,推荐使用较新版本,体验最新特性。

安装

Windows安装

此安装实例以 64位Win10系统安装 Go1.14.1可执行文件版本为例。

将上一步选好的安装包下载到本地。

双击下载好的文件,然后按照下图的步骤安装即可。

Linux下安装

如果不是要在Linux平台敲go代码就不需要在Linux平台安装Go,我们开发机上写好的go代码只需要跨平台编译(详见文章末尾的跨平台编译)好之后就可以拷贝到Linux服务器上运行了,这也是go程序跨平台易部署的优势。

我们在版本选择页面选择并下载好go1.14.1.linux-amd64.tar.gz文件:

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

将下载好的文件解压到/usr/local目录下:

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

如果提示没有权限,加上sudo以root用户的身份再运行。执行完就可以在/usr/local/下看到go目录了。

配置环境变量: 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 version命令,查看安装的Go版本。

GOROOT和GOPATH

GOROOTGOPATH都是环境变量,其中GOROOT是我们安装go开发包的路径,而从Go 1.8版本开始,Go开发包在安装完成后会为GOPATH设置一个默认目录,并且在Go1.14及之后的版本中启用了Go Module模式之后,不一定非要将代码写到GOPATH目录下,所以也就不需要我们再自己配置GOPATH了,使用默认的即可。

GOPROXY 非常重要

Go1.14版本之后,都推荐使用go mod模式来管理依赖环境了,也不再强制我们把代码必须写在GOPATH下面的src目录了,你可以在你电脑的任意位置编写go代码。(网上有些教程适用于1.11版本之前。)

默认GoPROXY配置是:GOPROXY=https://proxy.golang.org,direct,由于国内访问不到https://proxy.golang.org,所以我们需要换一个PROXY,这里推荐使用https://goproxy.iohttps://goproxy.cn

可以执行下面的命令修改GOPROXY:

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

Go开发编辑器

Go采用的是UTF-8编码的文本文件存放源代码,理论上使用任何一款文本编辑器都可以做Go语言开发,这里推荐使用VS CodeGoland。 VS Code是微软开源的编辑器,而Goland是jetbrains出品的付费IDE。

我们这里使用VS Code 加插件做为go语言的开发工具。

VS Code介绍

VS Code全称Visual Studio Code,是微软公司开源的一款免费现代化轻量级代码编辑器,支持几乎所有主流的开发语言的语法高亮、智能代码补全、自定义热键、括号匹配、代码片段、代码对比 Diff、GIT 等特性,支持插件扩展,支持 Win、Mac 以及 Linux平台。

虽然不如某些IDE功能强大,但是它添加Go扩展插件后已经足够胜任我们日常的Go开发。

下载与安装

VS Code官方下载地址:Download Visual Studio Code - Mac, Linux, Windows

三大主流平台都支持,请根据自己的电脑平台选择对应的安装包。

双击下载好的安装文件,双击安装即可。

配置

安装中文简体插件

点击左侧菜单栏最后一项管理扩展,在搜索框中输入chinese ,选中结果列表第一项,点击install安装。

安装完毕后右下角会提示重启VS Code,重启之后你的VS Code就显示中文啦!

VSCode主界面介绍:

安装go扩展

现在我们要为我们的VS Code编辑器安装Go扩展插件,让它支持Go语言开发。

第一个Go程序

Hello World

现在我们来创建第一个Go项目——hello。在我们桌面创建一个hello目录。

go mod init

使用go module模式新建项目时,我们需要通过go mod init 项目名命令对项目进行初始化,该命令会在项目根目录下生成go.mod文件。例如,我们使用hello作为我们第一个Go项目的名称,执行如下命令。

go mod init hello

编写代码

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

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

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

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

非常重要!!! 如果此时VS Code右下角弹出提示让你安装插件,务必点 install all 进行安装。

编译

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

在hello目录下执行:

go build

或者在其他目录执行以下命令:

go build hello

go编译器会去 GOPATH的src目录下查找你要编译的hello项目

编译得到的可执行文件会保存在执行编译命令的当前目录下,如果是windows平台会在当前目录下找到hello.exe可执行文件。

可在终端直接执行该hello.exe文件:

c:\desktop\hello>hello.exe
Hello World!

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

go build -o heiheihei.exe

Windows下VSCode切换cmd.exe作为默认终端

如果你打开VS Code的终端界面出现如下图场景(注意观察红框圈中部分),那么你的VS Code此时正使用powershell作为默认终端:

十分推荐你按照下面的步骤,选择cmd.exe作为默认的终端工具:此时,VS Code正上方中间位置会弹出如下界面,参照下图挪动鼠标使光标选中后缀为cmd.exe的那一个,然后点击鼠标左键。

最后重启VS Code中已经打开的终端或者直接重启VS Code就可以了。

如果没有出现下拉三角,也没有关系,按下Ctrl+Shift+P,VS Code正上方会出现一个框,你按照下图输入shell,然后点击指定选项即可出现上面的界面了。

go run

go run main.go也可以执行程序,该命令本质上也是先编译再执行。

go install

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

跨平台编译

默认我们go build的可执行文件都是当前操作系统可执行的文件,Go语言支持跨平台编译——在当前平台(例如Windows)下编译其他平台(例如Linux)的可执行文件。

Windows编译Linux可执行文件

如果我想在Windows下编译一个Linux下可执行文件,那需要怎么做呢?只需要在编译时指定目标操作系统的平台和处理器架构即可。

注意:无论你在Windows电脑上使用VsCode编辑器还是Goland编辑器,都要注意你使用的终端类型,因为不同的终端下命令不一样!!!目前的Windows通常默认使用的是PowerShell终端。

如果你的Windows使用的是cmd,那么按如下方式指定环境变量。

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

如果你的Windows使用的是PowerShell终端,那么设置环境变量的语法为

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

在你的Windows终端下执行完上述命令后,再执行下面的命令,得到的就是能够在Linux平台运行的可执行文件了。

go build

Windows编译Mac可执行文件

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

cmd终端下执行:

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

PowerShell终端下执行:

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

Mac编译Linux可执行文件

Mac电脑编译得到Linux平台64位可执行程序:

CGO_ENABLED=0 GOOS=linux GOARCH=amd64 go build

Mac编译Windows可执行文件

Mac电脑编译得到Windows平台64位可执行程序:

CGO_ENABLED=0 GOOS=windows GOARCH=amd64 go build

Linux编译Mac可执行文件

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

CGO_ENABLED=0 GOOS=darwin GOARCH=amd64 go build

Linux编译Windows可执行文件

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

CGO_ENABLED=0 GOOS=windows GOARCH=amd64 go build

现在,开启你的Go语言学习之旅吧。人生苦短,let’s Go.

Windows下配置Golang环境变量

为什么要配置环境变量

1.看一个现象

在dos命令行敲入go,出现错误提示

2.原因分析

错误原因是当前执行的程序在当前目录如果不存在,windows系统会在系统中已经有的一个名为path的环境变量指定的目录中进行查找,如果仍为找到,会出现以上的错误提示。所以进入go安装路径\bin目录下,执行go,会看到go参数会提示信息。

配置环境变量

设置运行环境变量:GOROOT=xxx
设置开发当前路径:GOPATH=xxx
将相应GOROOT下的bin目录及GOPATH下的bin目录添加到PATH
GOROOT 目录指的是go环境的安装目录,go的编译器、标准库等都存放在这个目录下
GOPATH 目录 指的是项目的开发目录,存在三个目录结构,分别是src、pkg、bin目录 bin:编译文件目录(第三方编译出的可执行文件都在这个目录下)、pkg第三方包目、src:项目源文件目录

配置完成后cmd下执行go version 查看是否配置成功,假如不成功可能有两点:环境配置完成后需要重启cmd才能生效;GOROOT路径错误,查看所添加的GOROOT中的bin目录下是否有名字为go的可执行文件(win为go.exe)

四、设置其它变量
cmd下执行以下命令,然后执行go env 查看相关变量是否设置成功

go env -w GO111MODULE=on //开启mod模式(项目管理需要用到)
go env -w GOPROXY=https://goproxy.cn,direct //重新设置成七牛镜像源(用原有的会比较慢)
go env -w GOSUMDB=off //关闭包的MD5校验

在这里插入图片描述

在这里插入图片描述

 配置go代理

通过 go get 命令下载各种依赖时,经常需要访问 github/google 等网站。我们可以配置代理后,快速稳定的下载访问,推荐 GOPROXY.IO - 一个全球代理 为 Go 模块而生

goproxy.io 是全球最早的 Go modules 镜像代理服务之一, 采用 CDN 加速服务为开发者提供依赖下载, 该服务由一批热爱开源, 热爱 Go 语言的年轻人开发维护。从 Go 1.11 开始 Go 语言开始支持 Go modules 来解决大家长久以来诟病的依赖管理问题,目前 Go modules 功能已经符合生产环境标准。

配置方式:

1. 右键 我的电脑 -> 属性 -> 高级系统设置 -> 环境变量
2. 在 “[你的用户名]的用户变量” 中点击 ”新建“ 按钮
3. 在 “变量名” 输入框并新增 “GOPROXY”
4. 在对应的 “变量值” 输入框中新增 “https://goproxy.io,direct”
5. 最后点击 “确定” 按钮保存设置

 再次用go env命令即可看到配置的代理

Linux安装配置go环境

1、从官网下载go源码包

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

2、在/usr/local下解压源码包

sudo tar -zxf go1.12.5.linux-amd64.tar.gz -C /usr/local

3、将 /usr/local/go/bin 目录添加至PATH环境变量,目的是在任何目录下的终端,都可以使用go命令:

vi /etc/profile 

然后加入下面这行:

export PATH=$PATH:/usr/local/go/bin

保存后,执行以下命令,使环境变量立即生效:

source /etc/profile

4、测试环境

输入go version能看到版本号就表示安装成功了

5、建立工作空间

在/home目录下新建go目录(文件名随意),然后在go目录下分别新建三个目录:

src ---- 里面每一个子目录,就是一个包。包内是Go的源码文件

pkg ---- 编译后生成的,包的目标文件

bin ---- 生成的可执行文件。

6、设置GOPATH环境变量

同样vi /etc/profile 

然后加入下面这行:

export GOPATH=/home/go

别忘了保存后,执行以下命令,使环境变量立即生效:

source /etc/profile

至此go环境已经全部安装好了。

注意,此时可能出现一种情况,重启终端后再输入 go version,发现环境变量失效了,这种情况可以通过重启虚拟机来解决。

Go程序开发和基本结构说明

开发的步骤

1)开发这个程序/项目的时候,go的目录结构怎么处理

 2)代码如下:

对上图

1.go文件的后缀是.go

2.package.main

        表示该hello.go 文件所在的包是main在go中,每一个文件都必须归属一个包。

3.import 'fmt'

表示:引入一个包,包名fmt,引入该包后,就可以使用fmt包的函数,比如:fmt.Println

4.func main(){

}

 func是一个关键字,表示一个函数。

  mian是函数名,是一个主函数,即使是我们的程序的入口

5.fmt.Println("hello")

表示调用fmt包的函数Println输出"hello,Word"

3)通过go build命令对该go文件进行编译,生成.exe文件

如:go build xxx.go

4)运行hello.exe即可

5)注意:通过go run 命令可以直接运行hello go程序【类似执行一个脚本文件的形式】



 

  • 4
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值