Go语言开发环境搭建(ubuntu)

1.清理、卸载之前的 go 语言环境:

  1. 删除go目录:sudo rm -rf /usr/local/go

  2. 删除软链接(如果建立了软链接):sudo rm -rf /usr/bin/go

  3. 删除你的go语言工作目录,即 gopath。

2.重新下载 go 语言包:

  1. 在终端执行 wget https://dl.google.com/go/go1.12.10.linux-amd64.tar.gz 或者到官网 https://golang.org/dl/ 下载指定的 v1.12.10 版本;

  2. 提取压缩包到合适目录(如 /usr/local):

    sudo tar -xzf go1.12.10.linux-amd64.tar.gz -C /usr/local

  3. 建立软链接:sudo ln -s /usr/local/go/bin/* /usr/bin/

    (软链接:软链接是linux中一个常用命令,它的功能是为某一个文件在另外一个位置建立一个同不的链接。当我们需要在不同的目录,用到相同的文件时,我们不需要在每一个需要的目录下都放一个相同的文件,我们只要在其它的目录下用 ln 命令链接就可以,不必重复的占用磁盘空间)

  4. 执行 go version,如果正常输出版本信息,则安装成功!

3.配置 go 语言开发环境:

3.1创建工作空间:

go语言的代码必须放在工作空间内。工作空间其实就是一个目录,其中包含以下3个子目录:

src — 包含源码/源文件,它们被组织成

pkg — 包含编译后生成的库文件;

bin — 包含编译后生成的可执行文件。

这里工作空间命名为 go-workspace,分别执行下面三条命令来创建工作空间及其子目录:

mkdir -p $HOME/go-workspace/src

mkdir -p $HOME/go-workspace/pkg

mkdir -p $HOME/go-workspace/bin

3.2配置环境变量:

  1. 使用 vim 编辑器打开环境变量配置文件 $HOME/.bashrc :

    sudo vim $HOME/.bashrc

  2. 进入编辑界面后,下拉到尾行,按 i 插入新内容。此时重起一行,输入:

    export GOROOT=/usr/local/go        #设置为go安装的路径
    export GOPATH=$HOME/go-workspace   #默认安装包的路径
    export PATH=$PATH:$GOROOT/bin:$GOPATH/bin

    按 Esc,之后按 shift + : ,在终端底部的冒号 :后输入 wq , 即保存+退出。

    再执行 source $HOME/.bashrc,使配置文件生效!

  3. 检查环境变量是否设置成功:(正常输出说明配置成功)

    go env

4.HelloWorld实例测试:(检验go的v安装是否正确)

在 go-workspace/src 下创建文件 hello.go,写入如下内容:

package main

import "fmt"

func main() {
   fmt.Println("Hello World!")
}

然后在命令行执行:go run hello.go,若输出 Hello World! ,则安装成功!

go语言的安装及环境配置的更多相关文章

  1. go语言的安装、环境变量配置及简单使用

    go语言的安装.环境变量配置及简单使用 1.安装git并且配置在path中,默认就勾选了 下载地址https://git-scm.com/download/win 2.下载安装visualstudio ...

  2. Python学习(一)安装、环境配置及IDE推荐

    Python的安装.环境配置及IDE推荐 官网:https://www.python.org/ 版本:2.x 和 3.x 差别较大:python3是不向下兼容:版本区别可参考网官网介绍 至于选择 Py ...

  3. Linux RabbitMQ的安装、环境配置、远程访问 , Windows 下安装的RabbitMQ远程访问

    Linux  RabbitMQ的安装和环境配置 1.安装 RabbitMQ是使用Erlang语言编写的,所以安装RabbitMQ之前,先要安装Erlang环境 #对原来的yum官方源做个备份 1.mv ...

  4. win系统下nodejs安装及环境配置

    第一步:下载安装文件下载nodejs,官网:http://nodejs.org/download/,我这里下载的是node-v0.10.28-x86.msi,如下图: 第二步:安装nodejs下载完成 ...

  5. Laravel教程 一:安装及环境配置

    Laravel教程 一:安装及环境配置 此文章为原创文章,未经同意,禁止转载. Homestead 最近在SF上面看到越来越多的Laravel相关的问题,而作为一个Laravel的脑残粉,本来打算有机 ...

  6. Python学习 1 一 Python2.75的安装及环境配置教程

    Python2.75的安装及环境配置教程 Python的语法简洁,功能强大,有大量的第三方开发包(模块),非常适合初学者上手.同时Python不像java一样对内存要求非常高,适合做一些经常性的任务方 ...

  7. Yeoman入门之安装及环境配置

    Yeoman入门之安装及环境配置 http://blog.csdn.net/panlingfan/article/details/27345037 http://www.nodejs.orgYEOMA ...

  8. Node.js安装及环境配置之Windows篇

    Node.js安装及环境配置之Windows篇   一.安装环境 1.本机系统:Windows 10 Pro(64位)2.Node.js:v6.9.2LTS(64位) 二.安装Node.js步骤 1. ...

  9. Infer 在 Mac 上的安装和环境配置

    Infer 在 Mac 上的安装和环境配置 Infer 介绍 Infer 是一个静态分析工具.Infer 可以分析 Objective-C, Java 或者 C 代码,报告潜在的问题. 任何人都可以使 ...

随机推荐

  1. Python flask模块接口开发学习总结

    引言 Flask 是一个简单且十分强大的Python web 框架.它被称为微框架,“微”并不是意味着把整个Web应用放入到一个Python文件,微框架中的“微”是指Flask旨在保持代码简洁且易于扩 ...

  2. The Matrix | 黑客帝国

    今天又刷了一遍,依旧跟第一次看一样,非常惊叹震撼,同时也发现了更多的细节. 梳理一下情节: 开始就是Trinity在matrix里被黑衣人Agent追杀,Trinity团队的目的是寻找Neo,显然Ag ...

  3. JVM 扩展类加载器2

    1.创建Sample public class MyTest22 { static { System.out.println("MyTest22 initializer"); } ...

  4. Nessus更新到8.5.0

    Nessus更新到8.5.0   此次更新,主要涉及以下变化: (1)Nessus的用户注册和激活流程进行简化.用户可以在Nessus软件中直接进行注册和激活. (2)Nessus报告生成功能得到加强 ...

  5. mvn创建flink项目

    使用如下项目骨架创建flink项目,结果被官方的下面这个创建方式坑了.. mvn archetype:generate \ -DarchetypeGroupId=org.apache.flink \ ...

  6. 使用jquery循环并获取 json 数组的键/值对

    var resultJSON = '{"FirstName":"John","LastName":"Doe"," ...

  7. 使用SoapUI发送Post请求

    https://www.cnblogs.com/xiaowangzi1110/p/8544264.html 使用SoapUI发送Post请求 SoapUI作为一个开源的工具,其具备强大的功能.易用的界 ...

  8. asp中出现“错误 '80040e14' FROM 子句语法错误”原因

    当你的sql语句中出现 “错误 '80040e14' FROM 子句语法错误.”错误时,请注意了,那有可能是你的表名的命名不规范造成的,比如你的表名是“user”那么这杨的表名是不行的,那么在sql语 ...

  9. 软件定义网络基础---OF-Config协议

    交换机与控制器继续通信前,是需要对其功能.特性以及资源进行配置才能进行工作,这些配置是如何实现的?是由专门的配置协议指导完成的 一:OF-Config协议 是OpenFlow交换机管理配置协议,是Op ...

  10. 一个兼容 node 与浏览器的模块写法

    一个兼容 node 与浏览器的模块写法 // test.js (function (root, factory) { if (typeof define === 'function' &&am ...