<获取开发工具>
    到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. Spring+Struts+Mybatis+Shiro整合配置

    Jar包

  2. ROS 时间同步问题

    0. 问题 两台ubuntu主机无法与一台debian主机使用分布式通信,摄像头发出的话题机器人收不到,考虑是时间同步的问题. 也可能是系统不统一的问题; 今天在家实验了一下,时间差6min,照样可以 ...

  3. RNN(2) ------ “《A Critical Review of Recurrent Neural Networks for Sequence Learning》RNN综述性论文讲解”(转载)

    原文链接:http://blog.csdn.net/xizero00/article/details/51225065 一.论文所解决的问题 现有的关于RNN这一类网络的综述太少了,并且论文之间的符号 ...

  4. sqlserver 日志传送

    可以使用日志传送将事务日志不间断地从一个数据库(主数据库)发送到另一个数据库(辅助数据库).不间断地备份主数据库中的事务日志,然后将它们复制并还原到辅助数据库,这将使辅助数据库与主数据库基本保持同步. ...

  5. igmp组播测试环境搭建

    2.4G无线组播测试环境搭建: (1)组播源: VLC 或者 pixstream (2)无线: 2.4G AP (3)客户端PC: VLC播放器 有线直连 无线2.4G PC(组播源pixstream ...

  6. 通过Cookie跳过登录验证码【限cookie不失效有用】

    验证码,相信每个写web自动化测试的同学来说,都是个头疼的事,怎么办呢? 方法还是有的,先说今天这种方式,通过cookie绕过登录验证码 思路: 需要你通过抓包工具抓到你登录的cookie 接下来开始 ...

  7. LeetCode(46):全排列

    Medium! 题目描述: 给定一个没有重复数字的序列,返回其所有可能的全排列. 示例: 输入: [1,2,3] 输出: [ [1,2,3], [1,3,2], [2,1,3], [2,3,1], [ ...

  8. Thread + 匿名内部类

    package chapter01; public class MyThread01 extends Thread{ @Override public void run() { //让当前线程执行的代 ...

  9. java利用Jsch实现在windows平台远程操作linux服务器

    说明:exec用于执行命令:sftp用于文件处理 package com.wyg.simple; import java.io.BufferedReader; import java.io.File; ...

  10. Linux学习笔记(Ubuntu操作系统)之hadoop学习之路

    1:检查虚拟机的ip命令:ifconfig 2:普通用户切换root用户命令:su 3:root用户切换普通用户命令:su 用户名 4:普通用户执行系统执行前面加命令:sudo 5:查询主机名命令:h ...