Go - 环境安装
你好,Go语言
Go 是一个开源的编程语言,它能让构造简单、可靠且高效的软件变得容易。
因工作需要,准备入坑,先从环境安装开始,输出一个 Hello World。
环境安装
目标
安装完成并运行 Hello World 成功!
本机系统:macOS High Sierra 10.13.4
Go 版本:1.12
方式一:
通过 brew 安装
brew install go
根据提示进行安装吧,我使用的 方式二 进行安装的。
方式二:
通过安装包安装
地址:https://dl.google.com/go/go1.12.darwin-amd64.pkg
下载之后直接点击安装,一步步继续即可。
配置环境变量
vi ~/.bashrc
//新增
export GOROOT=/usr/local/go
export GOPATH=/Users/username/go/code //代码目录,自定义即可
export PATH=$PATH:$GOPATH/bin
及时生效,请执行命令:source ~/.bashrc
如果命令行使用的是zsh,请修改 .zshrc 文件。
vi ~/.zshrc
//新增
export GOROOT=/usr/local/go
export GOPATH=/Users/username/go/code //自定义代码目录
export PATH=$PATH:$GOPATH/bin
及时生效,请执行命令:source ~/.zshrc
验证是否安装成功,命令行下执行:

目录结构
bin
存放编译后可执行的文件。
pkg
存放编译后的应用包。
src
存放应用源代码。
例如:
├─ code -- 代码根目录
│ ├─ bin
│ ├─ pkg
│ ├─ src
│ ├── hello
│ ├── hello.go
Hello World 代码
//在 hello 目录下创建 hello.go
package main
import (
"fmt"
)
func main() {
fmt.Println("Hello World!")
}
命令行执行:

命令
查看完整的命令:

go build hello
在src目录或hello目录下执行 go build hello,只在对应当前目录下生成文件。
go install hello
在src目录或hello目录下执行 go install hello,会把编译好的结果移动到 $GOPATH/bin。
go run hello
在src目录或hello目录下执行 go run hello,不生成任何文件只运行程序。
go fmt hello
在src目录或hello目录下执行 go run hello,格式化代码,将代码修改成标准格式。
其他命令,需要的时候再进行研究吧。
开发工具
GoLand

GoLand 是 JetBrains 公司推出的 Go 语言集成开发环境,与我们用的 WebStorm、PhpStorm、PyCharm 是一家,同样支持 Windows、Linux、macOS 等操作系统。
下载地址:https://www.jetbrains.com/go/
软件是付费的,不过想想办法,软件可以永久激活的。
学习网址
- Go语言:https://golang.org/
- Go语言中文网:https://studygolang.com/
- Go语言包管理:https://gopm.io/
小结
主要分享了环境安装和开发工具,并将 Hello World 程序运行成功。
推荐阅读
本文欢迎转发,转发请注明作者和出处,谢谢!
Go - 环境安装的更多相关文章
- 使用专业的消息队列产品rabbitmq之centos7环境安装
我们在项目开发的时候都不可避免的会有异步化的问题,比较好的解决方案就是使用消息队列,可供选择的队列产品也有很多,比如轻量级的redis, 当然还有重量级的专业产品rabbitmq,rabbitmq ...
- Linux下xampp集成环境安装配置方法 、部署bugfree及部署禅道
XAMPP(Apache+MySQL+PHP+PERL)是一个功能强大的建站集成软件包.XAMPP 是一个易于安装且包含 MySQL.PHP 和 Perl 的 Apache 发行版.XAMPP 的确非 ...
- node.js环境安装,及连接mongodb测试
1.node.js环境安装 npm config set python python2.7npm config set msvs_version 2013npm config set registry ...
- 谈谈React Native环境安装中我遇到的坑
谈谈React Native环境安装 这个坑把我困了好久,真的是接近崩溃的边缘...整理出来分享给大家,希望遇到跟我一样问题的小伙伴能尽快找到答案. 首先,这是在初始化App之后,react-nati ...
- Kali Linux渗透测试实战 1.2 环境安装及初始化
1.2 环境安装及初始化 目录(?)[-] 环境安装及初始化 下载映像 安装虚拟机 安装Kali Linux 安装中文输入法 安装VirtualBox增强工具 配置共享目录和剪贴板 运行 Metasp ...
- Linux初学 - Elasticsearch环境安装
下载 https://www.elastic.co/downloads/elasticsearch 安装 rpm -ivh 也可以双击rpm包安装 修改elastaticsearch host配置 修 ...
- Win7下Python2.7环境安装paramiko模块
Win7下Python2.7环境安装paramiko模块,经过安装并测试成功,整理文档如下: 1.下载安装Windows版本的Python2.7,我默认装在C:\Python27 我的python已经 ...
- [ALM]一步一步搭建MS ALM环境 - 安装TFS + SQL SERVER
描述: 安装SQL SERVER 2012,安装TFS 2013,配置TFS,挽起袖子,准备干活儿 步骤: 1,打开Hyper-V Manager,参考[Hyper-V]使用操作系统模板创建新的虚拟机 ...
- Sencha Toucha 2 —1.环境安装配置、在线打包、离线打包
环境安装配置 1. 下载 1.1 Sencha Touch 下载 http://cdn.sencha.com/touch/sencha-touch-2.2.1-gpl.zip 1 ...
- [转载]SharePoint 2013测试环境安装配置指南
软件版本 Windows Server 2012 标准版 SQL Server 2012 标准版 SharePoint Server 2013 企业版 Office Web Apps 2013 备注: ...
随机推荐
- Android代码笔记
1. 如何监听Android的短信收发,自动填充验证码? getContentResolver().registerContentObserver(Uri.parse(SMS_URI_ALL), tr ...
- 我的省选 Day -14
Day -14 07:43:27 到机房了,不知道早上要做什么题,要不去选一题NOI原题来试试水好了 (因为NOI的原题质量比较有保证吧..) 09:11:22 正在做NOI2016的网格 开始写自己 ...
- Oracle中慎用Like等通配符
Like关键字,从技术上来说,是一个非常友善的通配符.利用这个通配符,我们可以实现很多模糊查询.如现在在一个人事档案系统中,用户想知道身份证号码以“339005”开头的人事信息,此时,就可以利用Lik ...
- BZOJ 4264 小C找朋友 哈希+脑子
好吧我觉得是脑子,别人觉得是套路$qwq$ 这道题相当于是求除了$u,v$两点互相连接,所连的点相同的点对$(u,v)$ 我们首先每个点一个随机权值,对于$u$点记为$w[u]$,然后记与$u$点相连 ...
- chapter07
// 包和引入// 包也可以像内部类那样嵌套// 包路径不是绝对路径// 包声明链x.y.x并不自动 将中间包x和x.y变成可见// 位于文件顶部不带花括号的包声明在整个文件范围内有效// 包对象可以 ...
- GUI的最终选择 Tkinter(三):Checkbutton组件和Radiobutton组件、LabelFrame组件
Checkbutton组件 Checkbutton组件就是常见的多选按钮,而Radiobutton则是单选按钮 from tkinter import * root = Tk() v = IntVar ...
- java——模拟新浪微博用户注册
1.创建用户类,重写HashCode()和equals()方法: import java.util.*; public class User{ private String name; private ...
- js——swiper.js
一款用于PC端和移动端的滑动效果插件. 中文网站:http://www.swiper.com.cn/# 点击中文教程.使用方法 1. initialSlide:初始索引值,从0开始 2.pagin ...
- Notepad++代码函数快速提示设置
设置——首选项——自动完成
- jsp内置对象和el表达式内置对象误区
未经允许禁止转载... jsp九大内置对象 EL表达式隐含的11个对象 隐含对象名称 描 述 pageContext 对应于JSP页面中的pageContext对象(注意:取的是pageC ...