你好,Go语言

Go 是一个开源的编程语言,它能让构造简单、可靠且高效的软件变得容易。

因工作需要,准备入坑,先从环境安装开始,输出一个 Hello World。

环境安装

目标

安装完成并运行 Hello World 成功!

本机系统:macOS High Sierra 10.13.4

Go 版本:1.12

方式一:

通过 brew 安装

  1. brew install go

根据提示进行安装吧,我使用的 方式二 进行安装的。

方式二:

通过安装包安装

地址:https://dl.google.com/go/go1.12.darwin-amd64.pkg

下载之后直接点击安装,一步步继续即可。

配置环境变量

  1. vi ~/.bashrc
  2. //新增
  3. export GOROOT=/usr/local/go
  4. export GOPATH=/Users/username/go/code //代码目录,自定义即可
  5. export PATH=$PATH:$GOPATH/bin

及时生效,请执行命令:source ~/.bashrc

如果命令行使用的是zsh,请修改 .zshrc 文件。

  1. vi ~/.zshrc
  2. //新增
  3. export GOROOT=/usr/local/go
  4. export GOPATH=/Users/username/go/code //自定义代码目录
  5. export PATH=$PATH:$GOPATH/bin

及时生效,请执行命令:source ~/.zshrc

验证是否安装成功,命令行下执行:

目录结构

bin

存放编译后可执行的文件。

pkg

存放编译后的应用包。

src

存放应用源代码。

例如:

  1. ├─ code -- 代码根目录
  2. ├─ bin
  3. ├─ pkg
  4. ├─ src
  5. ├── hello
  6. ├── hello.go

Hello World 代码

  1. //在 hello 目录下创建 hello.go
  2. package main
  3. import (
  4. "fmt"
  5. )
  6. func main() {
  7. fmt.Println("Hello World!")
  8. }

命令行执行:

命令

查看完整的命令:

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/

软件是付费的,不过想想办法,软件可以永久激活的。

学习网址

小结

主要分享了环境安装和开发工具,并将 Hello World 程序运行成功。

推荐阅读

本文欢迎转发,转发请注明作者和出处,谢谢!

Go - 环境安装的更多相关文章

  1. 使用专业的消息队列产品rabbitmq之centos7环境安装

      我们在项目开发的时候都不可避免的会有异步化的问题,比较好的解决方案就是使用消息队列,可供选择的队列产品也有很多,比如轻量级的redis, 当然还有重量级的专业产品rabbitmq,rabbitmq ...

  2. Linux下xampp集成环境安装配置方法 、部署bugfree及部署禅道

    XAMPP(Apache+MySQL+PHP+PERL)是一个功能强大的建站集成软件包.XAMPP 是一个易于安装且包含 MySQL.PHP 和 Perl 的 Apache 发行版.XAMPP 的确非 ...

  3. node.js环境安装,及连接mongodb测试

    1.node.js环境安装 npm config set python python2.7npm config set msvs_version 2013npm config set registry ...

  4. 谈谈React Native环境安装中我遇到的坑

    谈谈React Native环境安装 这个坑把我困了好久,真的是接近崩溃的边缘...整理出来分享给大家,希望遇到跟我一样问题的小伙伴能尽快找到答案. 首先,这是在初始化App之后,react-nati ...

  5. Kali Linux渗透测试实战 1.2 环境安装及初始化

    1.2 环境安装及初始化 目录(?)[-] 环境安装及初始化 下载映像 安装虚拟机 安装Kali Linux 安装中文输入法 安装VirtualBox增强工具 配置共享目录和剪贴板 运行 Metasp ...

  6. Linux初学 - Elasticsearch环境安装

    下载 https://www.elastic.co/downloads/elasticsearch 安装 rpm -ivh 也可以双击rpm包安装 修改elastaticsearch host配置 修 ...

  7. Win7下Python2.7环境安装paramiko模块

    Win7下Python2.7环境安装paramiko模块,经过安装并测试成功,整理文档如下: 1.下载安装Windows版本的Python2.7,我默认装在C:\Python27 我的python已经 ...

  8. [ALM]一步一步搭建MS ALM环境 - 安装TFS + SQL SERVER

    描述: 安装SQL SERVER 2012,安装TFS 2013,配置TFS,挽起袖子,准备干活儿 步骤: 1,打开Hyper-V Manager,参考[Hyper-V]使用操作系统模板创建新的虚拟机 ...

  9. Sencha Toucha 2 —1.环境安装配置、在线打包、离线打包

    环境安装配置        1. 下载 1.1     Sencha Touch 下载 http://cdn.sencha.com/touch/sencha-touch-2.2.1-gpl.zip 1 ...

  10. [转载]SharePoint 2013测试环境安装配置指南

    软件版本 Windows Server 2012 标准版 SQL Server 2012 标准版 SharePoint Server 2013 企业版 Office Web Apps 2013 备注: ...

随机推荐

  1. 文件上传Django

    当Django在处理文件上传的时候,文件数据被保存在request.FILES FILES中的每个键为<input type="file" name="" ...

  2. PAT天梯赛L2-025 分而治之

    题目链接:点击打开链接 分而治之,各个击破是兵家常用的策略之一.在战争中,我们希望首先攻下敌方的部分城市,使其剩余的城市变成孤立无援,然后再分头各个击破.为此参谋部提供了若干打击方案.本题就请你编写程 ...

  3. vue2格式化时间戳

    注意:时间戳分为10位和13位的,10位的是秒,13位的是毫秒 这里给出的是格式化13位的方法,10位的时间戳可以加上3个0 <div id="app">{{time ...

  4. sql 查找重复数据,并且重复数据有子集

    SELECT A.* FROM comm_department A INNER JOIN ( select path,count(*) as count from comm_department gr ...

  5. Codeforces Round #129 (Div. 2) A

    Description The Little Elephant loves Ukraine very much. Most of all he loves town Rozdol (ukr. &quo ...

  6. 洛谷P4891 序列 || 膜法阵,魔法阵

    https://www.luogu.org/problemnew/show/P4891 一道几乎一样的题http://210.33.19.103/contest/1130/problem/3 题面ht ...

  7. Chapter11

    package scala import scala.collection.mutable /** * Created by EX-CHENZECHAO001 on 2018-04-03. */cla ...

  8. 练习十六:Python日期格式应用(datetime)

    练习:关于python日期格式应用练习.用python方法如何输出指定格式形式的日期 这里用到datetime模块,datetime模块重新封装了time模块,提供了更多接口,提供的类包括:date, ...

  9. python模块之calendar方法详细介绍

    calendar,是与日历相关的模块.calendar模块文件里定义了很多类型,主要有Calendar,TextCalendar以及HTMLCalendar类型.其中,Calendar是TextCal ...

  10. @Import @bean,@Conditional @ConfigurationProperties @EnableConfigurationProperties 注解使用

    一分钟学会spring注解之@Import注解http://blog.51cto.com/4247649/2118354 @Autowired与@Resource 注解的使用 https://www. ...