你好,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/

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

学习网址

小结

主要分享了环境安装和开发工具,并将 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. Mybatis学习笔记之一——牛刀小试

    1.Mybaits核心对象SqlSession的作用: (1)向SQL语句传入参数: (2)执行SQl语句: (3)获取执行SQL语句的结果: (4)事务的控制: 2.核心配置文件(Configrat ...

  2. uva10570(枚举基准,贪心)

    uva10570(枚举基准,贪心) 输入一个1至n的排列(n<=500),每次可以交换两个整数,用最小的交换次数把排列变成1至n的一个环状排列. 首先用\(O(n)\)的时间枚举一个排列,接着问 ...

  3. 原生 Ajax 封装 和 Axios 二次 封装

    AJAX 异步的JavaScript与XML技术( Asynchronous JavaScript and XML ) Ajax 不需要任何浏览器插件,能在不更新整个页面的前提下维护数据,但需要用户允 ...

  4. 不建议使用Restsharp

    Restsharp确实是个优秀的插件,它最大的特点是内置了JsonConverter, 在一定程度上简化了HttpWebRequest的使用,在nuget上面有19.3M的下载量,是个很好的证明. 但 ...

  5. Servlet和HTTP请求协议

    Servlet和HTTP请求协议 Servlet和HTTP请求协议 Servlet和HTTP请求协议 有待补充... servlet servlet applet 概念 servlet是运行在服务器上 ...

  6. 文本处理三剑客之gawk

    gawk 作者:Aho, Weinberger, Kernighan 版本: GNU awk:gawk New awk:nawk 简介:格式化文本输出工具,模式扫描及处理语言:报告生成器. 用法:ga ...

  7. vue中点击空白处隐藏弹框(用指令优雅地实现)

    在写vue的项目的时候,弹框经常性出现,并要求点击弹框外面,关闭弹框,那么如何实现呢?且听我一一...不了,能实现效果就好 <template> <div> <div c ...

  8. git 处理 crlf rf

    假如你正在 Windows 上写程序,又或者你正在和其他人合作,他们在 Windows 上编程,而你却在其他系统上,在这些情况下,你可能会遇到行尾结束符问题.这是因为 Windows 使用回车和换行两 ...

  9. Java多线程与并发——进程与线程

    1.什么是进程 程序是指令和数据的有序集合,其本身没有任何运行的含义,是一个静态的概念.而进程是程序在处理机上的一次执行过程,它是一个动态的概念. 进程是一个具有一定独立功能的程序,一个实体,每一个进 ...

  10. (转)yi_meng linux 下 ifcfg-eth0 配置 以及ifconfig、ifup、ifdown区别

    linux 下 ifcfg-eth0 配置 以及ifconfig.ifup.ifdown区别 原文:https://www.cnblogs.com/yi-meng/p/3214471.html这3个命 ...