golang中文文档_Golang开发环境搭建
Go 语言开发包
国外:https://golang.org/dl/
国内(推荐): https://golang.google.cn/dl/
编辑器
- Golang:https://www.jetbrains.com/go/
- Visual Studio Code: https://code.visualstudio.com/
搭建 Go 语言开发环境,需要先下载 Go 语言开发包。
查看操作系统及版本
Windows:
Mac:
Linux:
终端输入uname -a
,示例如下
Golang语言开发包
MSI 安装的方式比较简单推荐使用
Windows 系统上推荐使用这种方式。现在的操作系统基本上都是 64 位的,所以选择 64 位的 go1.15.windows-amd64.msi 下载即可,如果操作系统是 32 位的,选择 go1.15.windows-386.msi 进行下载。
下载后双击该 MSI 安装文件,按照提示一步步地安装即可。在默认情况下,Go 语言开发工具包会被安装到 c:Go 目录,你也可以在安装过程中选择自己想要安装的目录。
假设安装到 c:Go 目录,安装程序会自动把 c:Gobin 添加到你的 PATH 环境变量中,如果没有的话,你可以通过系统 -> 控制面板 -> 高级 -> 环境变量选项来手动添加。示例如下
- 进入
- 配置
macOS 下安装
如果你的操作系统是 macOS,可以采用 PKG 安装包。下载 go1.15.darwin-amd64.pkg
后,双击按照提示安装即可。安装成功后,路径/usr/local/go/bin
应该已经被添加到了 PATH 环境变量中。
如果没有的话,你可以手动添加,把如下内容添加到 /etc/profile 或者 $HOME/.profile 文件保存即可。命令如下
export PATH=$PATH:/usr/local/go/bin
BrewHome安装
# brewHome安装
brew install golang
Linux
- 保护管理工具安装
# yum(Centos)
sudo yum -y update # 更新yum
sudo yum install -y golang
# apt(ubantu)
sudo apt -y update
sudo apt install -y golang
- 压缩包安装(安装前请查看操作系统版本)
# amd 版本
wget https://golang.google.cn/dl/go1.15.4.linux-amd64.tar.gz
# arm版本
https://golang.google.cn/dl/go1.15.4.linux-arm64.tar.gz# 解压(amd)
sudo tar -C /usr/local/ -xzvf go1.15.4.linux-amd64.tar.gz
# 解压
sudo tar -C /usr/local/ -xzvf go1.15.4.linux-arm64.tar.gz# 环境变量配置
# sudo vim /etc/profileexport GOROOT=/usr/local/goexport GOPATH=/home/bruce/goexport GOBIN=$GOPATH/binexport PATH=$PATH:$GOROOT/binexport PATH=$PATH:$GOPATH/bin
# 环境变量生效
source /etc/profile
GOROOT
设置golang开发包的安装位置,我们解压到了/usr/local/
目录,该目录下的go/
文件夹一定是go的环境的根目录,就是打开go
目录后别再有一个go/
目录。GOBIN
目录是执行go install
后生成可执行文件的目录GOPATH
是我们的工作目录,一般我们设置到用户目录下,这个要根据你电脑的实际情况去配置。在介绍一下go的工作目录结构。在我们设置的工作目录下有3个子目录
测试安装
# 任意目录下输入go version
go version go1.15.2 darwin/amd64
# 查看环境配置
go env
# go env
GO111MODULE="on"
GOARCH="amd64"
GOBIN=""
GOCACHE="/Users/stringle-004/Library/Caches/go-build"
GOENV="/Users/stringle-004/Library/Application Support/go/env"
GOEXE=""
GOFLAGS=""
GOHOSTARCH="amd64"
GOHOSTOS="darwin"
GOINSECURE=""
GOMODCACHE="/Users/stringle-004/go/pkg/mod"
GONOPROXY=""
GONOSUMDB=""
GOOS="darwin"
GOPATH="/Users/stringle-004/go"
GOPRIVATE=""
GOPROXY="https://goproxy.cn,direct"
GOROOT="/usr/local/go" # golang开发包的安装位置
GOSUMDB="sum.golang.org"
GOTMPDIR=""
GOTOOLDIR="/usr/local/go/pkg/tool/darwin_amd64"
GCCGO="gccgo"
AR="ar"
CC="clang"
CXX="clang++"
CGO_ENABLED="1"
GOMOD="/Users/stringle-004/go/src/github.com/payne/awesomeProject/go.mod"
CGO_CFLAGS="-g -O2"
CGO_CPPFLAGS=""
CGO_CXXFLAGS="-g -O2"
CGO_FFLAGS="-g -O2"
CGO_LDFLAGS="-g -O2"
PKG_CONFIG="pkg-config"
GOGCCFLAGS="-fPIC -m64 -pthread -fno-caret-diagnostics -Qunused-arguments -fmessage-length=0 -fdebug-prefix-map=/var/folders/sb/__n99hm13ms08lkk2lv5pxj40000gn/T/go-build659271527=/tmp/go-build -gno-record-gcc-switches -fno-common"
GOPROXY
Go1.14版本之后,都推荐使用go mod
模式来管理依赖环境了,也不再强制我们把代码必须写在GOPATH
下面的src目录了,你可以在你电脑的任意位置编写go代码。(网上有些教程适用于1.11版本之前。)
默认GoPROXY配置是:GOPROXY=https://proxy.golang.org,direct
,由于国内访问不到https://proxy.golang.org
,所以我们需要换一个PROXY,这里推荐使用https://goproxy.io
或https://goproxy.cn
。
可以执行下面的命令修改GOPROXY:
go env -w GOPROXY=https://goproxy.cn,direct
跨平台编译
Go 语言开发工具包的另一强大功能就是可以跨平台编译。什么是跨平台编译呢?
就是在 macOS 开发,可以编译 Linux、Window 等平台上的可执行程序,这样你开发的程序,就可以在这些平台上运行。也就是说,你可以选择喜欢的操作系统做开发,并跨平台编译成需要发布平台的可执行程序即可。
Go 语言通过两个环境变量来控制跨平台编译,它们分别是 GOOS
和 GOARCH
。
- GOOS:代表要编译的目标操作系统,常见的有 Linux、Windows、Darwin 等。
- GOARCH:代表要编译的目标处理器架构,常见的有 386、AMD64、ARM64 等。
这样通过组合不同的 GOOS 和 GOARCH,就可以编译出不同的可执行程序。比如我现在的操作系统是 macOS AMD64 的,我想编译出 Linux AMD64 的可执行程序,只需要执行 go build 命令即可,如以下代码所示:
关于 GOOS 和 GOARCH 更多的组合,参考官方文档的 $GOOS and $GOARCH 这一节即可
GOOS=linux GOARCH=amd64 go build /Users/stringle-004/go/main.go
关于 GOOS 和 GOARCH 更多的组合,参考官方文档的 $GOOS and $GOARCH 这一节即可
Go 编辑器
第一款是 Visual Studio Code + Go 扩展插件,可以让你非常高效地开发,通过官方网站下载所对应操作系统版本的Visual Studio Code。
- 安装:略(进入官网,下载安装即可)
- Visual Studio Code + Go设置
安装中文简体插件
点击左侧菜单栏最后一项管理扩展
,在搜索框
中输入chinese
,选中结果列表第一项,点击install
安装。
安装完毕后右下角会提示重启VS Code
,重启之后你的VS Code就显示中文啦!
VSCode
主界面介绍:
安装go扩展
现在我们要为我们的VS Code编辑器安装Go
扩展插件,让它支持Go语言开发。
安装中文简体插件
点击左侧菜单栏最后一项管理扩展
,在搜索框
中输入chinese
,选中结果列表第一项,点击install
安装。
安装完毕后右下角会提示重启VS Code
,重启之后你的VS Code就显示中文啦!
第二款是老牌 IDE 公司 JetBrains 推出的 Goland,所有插件已经全部集成,更容易上手,并且功能强大,新手老手都适合,你可以通过官方网站 https://www.jetbrains.com/go/ 下载使用。
第一个Golang程序
package main # 可执行文件必须为package main开头import "fmt" # 导入“fmt”包,用于打印(fmt.Print(打印)、fmt.Println(换行打印)、fmt.Printf(格式化打印)等)func main() { # 主函数mainfmt.Print("你好,我叫payne") # 输入
}
# 你好,我叫payne
下一篇,我将介绍Golang的基本数据类型
,变量的申明方式
、常量的申明方式及iato
、
golang中文文档_Golang开发环境搭建相关推荐
- golang中文文档_Golang 标准库 限流器 time/rate 设计与实现
限流器是后台服务中十分重要的组件,在实际的业务场景中使用居多,其设计在微服务.网关.和一些后台服务中会经常遇到.限流器的作用是用来限制其请求的速率,保护后台响应服务,以免服务过载导致服务不可用现象出现 ...
- linux离线安装sails,Sail中文文档:一个开发环境快速部署工具
8种机械键盘轴体对比 本人程序员,要买一个写代码的键盘,请问红轴和茶轴怎么选? 在Sail中访问Docker的话,你需要安装docker工具,还要将本地的docker socket用share挂载到S ...
- AutoIt 在线中文文档、开发工具 (GUI 图形开发工具)
AutoIt 在线中文文档.开发工具 (GUI 图形开发工具) 一.在线中文文档 1.1 官方文档翻译版 1.2 用户自定义函数 1.3 脚本之家版 二.开发工具 一.在线中文文档 1.1 官方文档翻 ...
- golang 学习心得一(开发环境搭建过程中一些坑)
最近刚接触golang,除了被go的语法吸引之外,在搭建go开发环境过程才也遇到一些问题,现在写出来和大家分享,希望以后对go有兴趣的初学者能避免我的弯路. Sublime Text 环境搭建,这个有 ...
- golang中文文档_【译】Go 语言源码贡献官方指导文档
以前给 Go 语言项目源码提交过一些 commits,期间阅读他们的官方指导文档的时候觉得这篇指导文档可以作为绝佳的关于大型软件项目的规范管理的参考,因为最近又提交了几个 commits,就又把这篇文 ...
- Rust actix aiohttp_介绍 - actix-web 中文文档 - Rust-Web 开发指南
actix-web 是 Rust 生态中的最为优秀的 web 框架之一,具有类型安全.功能丰富.扩展性强,以及速度极快的诸多优点. 让我们通过 actix-web 的典型代码,来对其做一个整体认知. ...
- 【Golang】Go语言的开发环境搭建
- golang roadrunner中文文档(一)基础介绍
2021年5月24日14:34:05 golang roadrunner中文文档(一)基础介绍 golang roadrunner中文文档(二)PHP Workers golang roadrunne ...
- Golang开发环境搭建-Vim篇
Golang开发环境搭建-Vim篇 转自:http://tonybai.com/2014/11/07/golang-development-environment-for-vim/ 虽说sublime ...
最新文章
- 【杂谈】为什么邀请大家加入硬核知识星球有三AI
- linux下ftp服务器搭建详解
- 清空SqlServer日志文件
- js浏览器窗口大小改变时事件
- 天津天气预报软件测试,可以查询节气的天气预报app
- vue2 关于开发插件的几点思考
- ForkJoinPool 偷任务
- 你需要知道的基础算法知识——STL和基础数据结构(三)
- 老项目Xcode5.1编译器错误
- 引自codeking的这句话
- 汇编语言程序设计---分支程序设计
- 在线抢购平台_课程设计报告
- 汽车之家自动发帖回帖机器人
- 【ZYNQ】中断机制介绍(一)
- 手把手推导分布式矩阵乘的最优并行策略
- 城市轨道交通高峰时段客流协调控制的强化学习方法
- 如何注册小程序账号和下载小程序开发工具
- LINQ To SQL與Transaction
- EJB 3 术语汇编
- Syllable 红语言 REBOL 3 开源
热门文章
- 分布式服务的事务如何处理?比如dubbo,服务与服务之间的事务怎么处理比较好,现在有没有开源的解决方案?...
- django连接redis(文章看着不错)
- API测试工具SoapUI Postman对比分析
- 执行apt-get命令提示没有该命令
- 反思laravel-admin的使用总结
- 反思专注力:重视专注;转变认知;避开即时娱乐;控制专注;氛围想不专注都难
- Mysql水平分表-后端代码
- python权限管理系统_PMS:支持多应用的统一权限管理系统,用flask+vue实现
- tp框架命名空间使用(namespace,use,as,\)
- TP5 连接oracle数据库