<获取开发工具>
    到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"中添加:
  1. export GOROOT="/usr/local/bin/go"
  2. 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"中添加(这里的“~”修改成自己的实际路径代替):
  1. 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):
  1. set nocompatible " be iMproved, required
  2. filetype off " required
  3. set rtp+=~/.vim/bundle/Vundle.vim
  4. call vundle#begin()
  5. Plugin 'VundleVim/Vundle.vim'
  6. Plugin 'tpope/vim-fugitive'
  7. Plugin 'git://git.wincent.com/command-t.git'
  8. Plugin 'file:///home/gmarik/path/to/plugin'
  9. Plugin 'rstacruz/sparkup', {'rtp': 'vim/'}
  10. Plugin 'fatih/vim-go'
  11. call vundle#end() " required
  12. 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下,执行命令:
  1. 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. 【转】Python数据类型之“数字(numerics)”

    [转]Python数据类型之“数字(numerics)” 上一节内容说的是“Python基本语法”,本节主要讲下Python中的数据类型. 存储在内存中的数据通常有两个属性: 在内存中的存放位置:这个 ...

  2. PCA主成分分析+白化

    参考链接:http://deeplearning.stanford.edu/wiki/index.php/%E4%B8%BB%E6%88%90%E5%88%86%E5%88%86%E6%9E%90 h ...

  3. STM32F103X datasheet学习笔记---Flexible static memory controller (FSMC)

    1.前言 FSMC模块能够与同步或异步存储器和16位PC存储器卡接口,它的主要作用是: 将AHB传输信号转换到适当的外部设备协议 满足访问外部设备的时序要求 所有的外部存储器共享控制器输出的地址.数据 ...

  4. ubuntu 里切换 gcc,g++ 的版本

    https://askubuntu.com/questions/26498/choose-gcc-and-g-version https://stackoverflow.com/questions/7 ...

  5. HTML学习笔记09-列表

    HTML支持无序,有序,自定义列表 列表项内部可以使用段落.换行符.图片.连接.以及其他列表等 无序列表 无序列表使用粗体圆点(典型的小黑圆圈)进行标记,列表始于<ul>标签,列表项使用& ...

  6. Python3学习笔记07-List

    Python有6个序列的内置类型,但最常见的是列表和元 序列都可以进行的操作包括索引,切片,加,乘,检查成员. 此外,Python已经内置确定序列的长度以及确定最大和最小的元素的方法. 创建一个列表, ...

  7. saltstack自动化运维系列⑩SaltStack二次开发初探

    saltstack自动化运维系列⑩SaltStack二次开发初探 1.当salt运行在公网或者网络环境较差的条件下,需要配置timeout时间vim /etc/salt/master timeout: ...

  8. 通达OA系统故障解决案例记录

    案例1: 现象:在人员访问量大的时候OA系统经卡死,并且经常宕机,需要启动apache服务 优化配置如下: D:\MYOA\conf\http.conf 修改参数如下: <IfModule mp ...

  9. PYTHON-模块 logging hashlib

    '''import logging # 1. 控制日志级别# 2. 控制日志格式# 3. 控制输出的目标为文件logging.basicConfig(filename='access.log', fo ...

  10. jquery实现星级评分

    项目中遇到到实现星级评分,就用了这个插件 http://www.jq22.com/jquery-info291