<获取开发工具>
    到https://www.golangtc.com/download 下载安装包, 根据自己的系统选择合适的开发包,这里选择go.1.9.2.linux-amd64.tar.gz
<搭建开发环境>
➤为golang 配置PATH环境变量
     解压文件,将解压后的文件拷贝到"/usr/local/bin"下面(理论上可以拷贝到任何路径,只要在接下来的环境变量配置中,指定该路径就可以,但是一般都是放在该路下"/usr/local/bin")。
    配置环境变量"/usr/local/bin/go/bin" 添加到 linux 环境变量中,在"~/.bashrcl" 或者,"~/.profile",或者"/etc/profile"中添加:
export GOROOT="/usr/local/bin/go"
export PATH="$PATH:$GOROOT/bin"
➤为golang配置GOPATH环境变量

    该环境变量主要是为golang工程文件所用,因为vim 目前对golang的支持不是特别好,不能通过配置vimrc 这种传统的方式来使得vim支持golang,得使用go tools 和 vim-go这两种工具来使得vim 支持golang 。golang语言的开发比较特殊,无论是语法,还是工程文件组织方式,都有比较严格的格式要求。我的系统中在"~/src/go"下新建工程文件夹(也就是说只要指定了该路径,以后的工程文件夹就必须在该路径下创建,比如工程A:"~/src/go/src/A",工程B:"~/src/go/src/B")。
    在"~/.bashrc" 或者,"~/.profile",或者"/etc/profile"中添加(这里的“~”修改成自己的实际路径代替):
export GOPATH="~/src/go"
    然后再该路径下创建文件夹src , bin , pkg,凡是需要新建工程,就在src新建一个文件夹,假设这里的工程文件夹是beego_main。则代码组织架构如下:
~/src/go/src/beego
~/src/go/src/beego_main
这里的beego和beego_main是两个文件夹,其中beego存放框架代码,beego_main存放main.go
假设这里的工程文件是mathapp,代买组织架构如下:
~/src/go/src/mathlib
~/src/go/src/mathapp
这里的mathlib和mathapp是两个文件夹,其中mathlib下面存放库文件,mathapp存放main.go
 
☢这样组织代码的目的一是为可以所引函数,二是为了编译的时候,go 编译器可以找到各个函数。
☢这里的环境变量必须叫GOPATH,golang 语言在索引工作空间(建立工程文件夹的目录)的时候会到该环境变量执行的路径下寻找。
☢golang的工程文件组织方式一般是在项目文件下新建三个文件夹(比如beego),src,bin,pkg。其中src用来存放源代码,pkg 存放一些"xxx.a"文件,bin 下存放编译后的可执行文件。
<为vim搭建golang开发环境>
    这里主要讲讲怎么离线搭建该开发环境
➤安装vim 插件
➣首先到github(https://github.com/VundleVim/Vundle.vim)上面下载vundle插件管理器,解压后,将解压的文件夹改名为Vundle.vim。
➣在"~/"下新建文件夹".vim",然后再.vim中新建文件夹bundle , 并将上面是Vundle.vim移动到该文件夹下面,具体样子是这样("~/.vim/bundle/Vundle.vim")。
➣到github(https://github.com/fatih/vim-go )。下载插件vim-go  , 将下载的压缩包解压,重命名为vim-go,将该文件夹移动到Vundle下面,具体样子为(~/.vim/bundle/vim-go)。
➣修改配置"~/.vimrc"该配置文件,再该文件中添加(该脚本来自于github上关于vundle的README):
set nocompatible              " be iMproved, required
filetype off " required
set rtp+=~/.vim/bundle/Vundle.vim
call vundle#begin()
Plugin 'VundleVim/Vundle.vim'
Plugin 'tpope/vim-fugitive'
Plugin 'git://git.wincent.com/command-t.git'
Plugin 'file:///home/gmarik/path/to/plugin'
Plugin 'rstacruz/sparkup', {'rtp': 'vim/'}
Plugin 'fatih/vim-go'
call vundle#end() " required
filetype plugin indent on " required
➤安装go tools
➣到github上下载go tools(https://github.com/golang/tools ).解压该文件夹,并将该文件夹重新命名为tools,其实这里面都是相应工具的源代码.
➣再在golang 的安装路径下的src文件夹下"/usr/local/bin/go/src" 新建gitbub.com文件夹和golang.org文件夹。
➣然后在golang.org文件夹下面新建文件夹x,接着将下载的go开发工具的文件夹(tools)移动到x里面。
➣然后跳出到文件夹src下,执行命令:
go get golang.org/x/tools/(工具链文件夹名称)

完成以上操作后就可以在golang安装路径的bin"/usr/local/bin/go/bin"里面看到可执行的工具链。什么godoc gunu 等开发环境工具。

linux golang开发环境配置(离线方式)的更多相关文章

  1. Linux odoo开发环境配置

    Linux odoo开发环境配置 安装postgresql9.6 第1步:添加RPM源(通过官网获取下载地址) yum install https://download.postgresql.org/ ...

  2. DELPHI10.2的LINUX数据库开发环境配置

    DELPHI10.2的LINUX数据库开发环境配置 ubuntu使用firedac访问mysql1.安装mysql-client包sudo apt-get install mysql-client m ...

  3. golang开发环境配置

    下载安装 从 https://golang.org/dl/ 下载最新的安装包. windows直接执行exe,按指示进行安装(默认安装目录是:C:\Go) linxu解压后复制到你喜欢目录就行(一般放 ...

  4. windows eclipse直接访问远程linux hadoop开发环境配置(符合实际开发的做法)

    CDH 5.x搭建请参考CentOS 7离线安装CDH 5.16.1完全指南(含各种错误处理). 如果使用的是cloudera quickstart vm,则只能在linux服务器中使用eclipse ...

  5. Mac下golang开发环境配置

    go语言在开发效率和运行效率中的优势让很多人青睐,所以有倾向打算转向go语言的开发. 下面介绍在Mac OS X中golang的开发环境配置. 1.安装brew brew是一个mac下的由ruby开发 ...

  6. Linux Ubuntu 开发环境配置 ——最具生产力工具一览

    Why Linux and Why exactly Ubuntu 首先这里就不做Mac,Linux,Windows三者之争了.只从个人角度分析下: Mac 不差钱(其实Mac作为超级本性价还行),不喜 ...

  7. Linux C 开发环境配置

    换了新电脑,重装了Fedora10,所有开发环境都要重新配置啦,开个随笔记录下过程,说不定以后还要用~ 首先Fedora10装好之后是不带 VIM 的,果断安装之: 打开终端,首先 su 命令切换到r ...

  8. wxWidgets 在 Linux 下开发环境配置

    本文基于 CodeBlocks (16.0.1) 和 wxWidgets (3.0.2) 搭建 Linux 下 GUI 开发环境. 1. 安装 CodeBlocks Ubuntu 默认的源当前 Cod ...

  9. windows及linux下 golang开发环境配置

    windows环境: 1.系统以及软件包版本: OS: windows 8.1  64位  x64处理器 GO:安装包:go1.7.3.windows-amd64.mis IDE:压缩包:liteid ...

随机推荐

  1. SpringBoot使用外置的Servlet容器

    SpringBoot默认使用嵌入式的Servlet容器,应用打包成可执行的jar包 优点:简单.便携 缺点:默认不支持jsp,优化定制比较复杂(使用定制器serverProperties.自定义Emb ...

  2. SpringMVC使用HttpInvoker发布远程服务

    参考这篇文章https://www.cnblogs.com/fanqisoft/p/10283156.html 将提供者配置类中的 1 @Bean 2 public HessianServiceExp ...

  3. Linux内核中常见内存分配函数【转】

    转自:http://blog.csdn.net/wzhwho/article/details/4996510 1.      原理说明 Linux内核中采用了一种同时适用于32位和64位系统的内存分页 ...

  4. Linux下rsyslog日志收集服务环境部署记录【转】

    rsyslog 可以理解为多线程增强版的syslog. 在syslog的基础上扩展了很多其他功能,如数据库支持(MySQL.PostgreSQL.Oracle等).日志内容筛选.定义日志格式模板等.目 ...

  5. Async 详解

    一:流程控制 为了适应异步编程,减少回调的嵌套,我尝试了很多库.最终觉得还是async最靠谱. 地址:https://github.com/caolan/async Async的内容分为三部分: 流程 ...

  6. 【转】C/C++内存泄漏及检测

    “该死系统存在内存泄漏问题”,项目中由于各方面因素,总是有人抱怨存在内存泄漏,系统长时间运行之后,可用内存越来越少,甚至导致了某些服务失败.内存泄漏是最难发现的常见错误之一,因为除非用完内存或调用ma ...

  7. C#哈希表(HashTable)和Dictionary比较

    添加数据时Hashtable快.频繁调用数据时Dictionary快. Dictionary<K,V>是泛型的,当K或V是值类型时,其速度远远超过Hashtable. using Syst ...

  8. jumperserver3.0的安装部署

    适用于jumperserver版本:v0.3.1-2  官网:http://www.jumpserver.org/ 系统:centos7.2 基本安装 备注:如果是centos系统最好使用基本安装,否 ...

  9. MySQL中adddate学习

    -- 修改时间:ADDDATE(date,INTERVAL expr unit) -- 含义:date时间,expr 表达式值,unit表达式对应的时间单位 -- unit : SECOND,MINU ...

  10. PYTHON-迭代器,xxx生成式

    一 迭代器1 什么是迭代器 #迭代器即迭代的工具,那什么是迭代呢? #迭代是一个重复的过程,每次重复即一次迭代,并且每次迭代的结果都是下一次迭代的初始值 while True: #只是单纯地重复,因而 ...