Go程序开发---Go环境配置:CentOS6.5+Go1.8标准包安装
1.Go安装
1.1Go的三种安装方式
Go有多种安装方式,可以选择自己习惯的方式进行,这里介绍三种安装方式:
1)Go源码安装
2)Go标准包安装
3)第三方工具安装
这里主要介绍下Go标准包在CentOS6.5系统中的安装方式
1.2Go标准包安装
1)首先需要具备一个CentOS6.5的操作系统
2)下载安装包,此处使用1.8的64位版本go1.8beta1.linux-amd64.tar.gz,将其解压到/usr/local目录
3)配置环境变量,在/etc/profile文件末尾设置,配置需要重启后生效
4)运行go命令,如果出现usage信息,说明安装配置成功
1.3Go配置路径说明
1)GOROOT
golang安装路径
2)GOPATH
Go工作环境中常常用到的一个很重要的环境变量(这种设计类似java)。具体用途:go命令常常需要用到的,如go run,go install, go get等。允许设置多个路径,和各个系统环境多路径设置一样,windows用“;”,Linux(mac)用“:”分隔。
3)GOBIN
go install编译存放路径。不允许设置多个路径。可以为空。为空时则遵循“约定优于配置”原则,可执行文件放在各自GOPATH目录的bin文件夹中(前提是:package main的main函数文件不能直接放到GOPATH的src下面。
4)GOPATH目录结构
goWorkSpace // (goWorkSpace为GOPATH目录)
-- bin // golang编译可执行文件存放路径,可自动生成。
-- pkg // golang编译的.a中间文件存放路径,可自动生成。
-- src // 源码路径。按照golang默认约定,go run,go install等命令的当前工作路径(即在此路径下执行上述命令)。
5)Go目录结构1
project1 // (project1添加到GOPATH目录了)
-- bin
-- pkg
-- src
-- models // package
-- controllers // package
-- main.go // package main[注意,本文所有main.go均指包main的入口函数main所在文件]
6)Go目录结构2
goWorkSpace // goWorkSpace为GOPATH目录
-- bin
-- myApp1 // 编译生成
-- myApp2 // 编译生成
-- myApp3 // 编译生成
-- pkg
-- src
-- common 1
-- common 2
-- common utils ...
-- myApp1 // project1
-- models
-- controllers
-- others
-- main.go
-- myApp2 // project2
-- models
-- controllers
-- others
-- main.go
-- myApp3 // project3
-- models
-- controllers
-- others
-- main.go
7)Go目录结构3
dir
-- goWorkSpace1 // 主要是为了区分自己的鼓捣的一些东西和工作上的项目
-- goWorkSpace2
-- bin
-- pkg
-- src
-- myApp1
-- .git
-- models
-- controllers
-- main.go
-- myApp2
-- .git
-- models
-- controllers
-- main.go
-- myApp3
-- .git
-- models
-- controllers
-- main.go
2.Go开发工具
2.1LiteIDE
2.1.1安装git
为了通过git获取相关的工具包(gocode),需要连接网络安装,yum install git,安装完成后,可以通过git --version查看到版本号说明已经安装成功
2.1.2安装gocode(如果LiteIDE包含该工具,就不需要安装)
gocode是Go编程语言的自动完成守护进程,下载gocode,go get github.com/nsf/gocode,安装gocode,go install github.com/nsf/gocode,安装完成后可以在GOBIN目录下看到gocode执行程序
2.1.3下载和解压LiteIDE
在解压后的bin目录下,可以看到相关的工具
2.1.4设置编辑环境
1)工具栏中的环境配置中选择linux64
2)在查看--选项--LiteEnv中双击编辑linux64.env,将其中的GOROOT进行修改和保存
3)Go语言的工具链使用GOPATH设置,是Go语言开发的项目路径列表,在命令行中输入(在LiteIDE中也可以Ctrl+,直接输入)go help gopath快速查看GOPATH文档。在LiteIDE中可以方便的查看和设置GOPATH。通过菜单-查看-GOPATH设置,可以查看系统中已存在的GOPATH列表, 同时可根据需要添加项目目录到自定义GOPATH列表中。
2.1.5使用体验
1)新建项目,选择上一步添加的GOPATH,模板为Go1 Command Project
2)编辑源代码,添加几行代码,包括变量声明、初始化及赋值,用来验证调试是否生效
3)设置编译选项及编译,编译->编译配置,设置编译参数。在BUILDARGS添加-gcflags "-N -l",目的是去掉编译优化,方便调试。
4)Ctrl+B构建项目
5)调试程序,按F5启动调试,程序在main函数处停止,通过F10单步调试
2.2 Vim
2.2.1安装Vim
如果安装的操作系统中有Vim,可以跳过此环节,如果没有可以通过以下命令安装
yum install vim*
会看到vim-enhanced这个包,然后运行yum install vim-enhanced
2.2.2安装git
可以参考前面的安装方法
2.2.3安装Vundle.vim
Vim-go是当前使用最为广泛的用于搭建Golang开发环境的vim插件,这里我同样使用vim-go作为核心和基础进行环境搭建的。vim-go利 用开源Vim插件管理器安装,gmarik/Vundle.vim是目前被推荐次数更多的Vim插件管理器,超过了pathogen。这里我们 就用vundle来作为Vim的插件管理工具。
Vundle.vim的安装步骤如下:
mkdir ~/.vim/bundle
git clone https://github.com/gmarik/Vundle.vim.git ~/.vim/bundle/Vundle.vim(根据网络状态速度不一样,如果失败可以多试几次)
找到vimrc,可以通过vim中输入”:version“命令查看到vimrc位置,在文件顶部添加有关Vundle.vim的配置:
set nocompatible " be iMproved, required
filetype off " required
" set the runtime path to include Vundle and initialize
set rtp+=~/.vim/bundle/Vundle.vim
call vundle#begin()
" let Vundle manage Vundle, required
Plugin 'gmarik/Vundle.vim'
" All of your Plugins must be added before the following line
call vundle#end() " required
filetype plugin indent on " required
2.2.4安装Vim-go
编辑vimrc,在vundle#begin和vundle#end间增加一行:
Plugin 'fatih/vim-go'
在Vim内执行PluginInstall
编辑~/.vimrc,在vundle#begin和vundle#end间增加一行:
Plugin 'fatih/vim-go'Vundle.vim会在左侧打开一个Vundle Installer Preview子窗口,窗口下方会提示:“Processing 'fatih/vim-go'”,待安装完毕后,提示信息变 成“Done!”。又是网络不行的话会失败,重试多次会成功
这时,我们可以看到.vim/bundle下多了一个vim-go文件夹:
$ ls .vim/bundle/
vim-go/ Vundle.vim/
2.2.5安装go.tools Binaries
vim-go安装说明中提到所有必要的binary需要先安装好,比如gocode、godef、goimports等。
通过:GoInstallBinaries,这些vim-go依赖的二进制工具将会自动被下载,并被安装到$GOBIN下或$GOPATH/bin下。(这个工具需要依赖git或hg,需要提前安装到你的OS中。)
:GoInstallBinaries的执行是交互式的,你需要回车确认:
不过这些代码多在code.google.com上托管,因此由于众所周知的原因,vim-go的自动安装很可能以失败告终,这样就需要你根据上 面日志中提到的各个工具的源码地址逐一去下载并本地安装。无法搭梯子的,可以通过http://gopm.io 下载相关包。
2.2.6其他插件的安装
可以参考http://tonybai.com/2014/11/07/golang-development-environment-for-vim/中的安装方法
2.3eclipse
2.3.1安装eclipse
安装前需要先安装jdk,并配置环境变量
安装eclipse,直接解压到指定目录,这里使用/usr/local
2.3.2 安装goclipse和CDT
安装方式:使用eclipse的软件升级功能完成,打开Eclipse,“help”->"install new softwear ",随后点“add”按钮,在“location”里面输入“http://goclipse.github.io/releases/”后,点“OK”按钮,随后操作就和升级其它软件一样了,这个插件安装完毕后,我们就可以在Eclipse的“window”->"preferences"的左侧看到“go”的项目了,这说明我们已经成功按照了goClipse和CDT!
2.3.3配置goclipse和tools
这里的tools是我本地安装好工具所在目录
2.3.4创建项目和调试
项目属性:
调试效果
Go程序开发---Go环境配置:CentOS6.5+Go1.8标准包安装的更多相关文章
- IntelliJ IDEA开发golang环境配置
IntelliJ IDEA开发golang环境配置 首先把GO安装好...(自行安装,附上一篇我之前写的MAC安装GO) 安装IntelliJ IDEA,下载地址: https://www.jetbr ...
- Selenium2学习-001-Selenium2 WebUI自动化Java开发 Windows 环境配置
此文主要介绍 Selenium2 WebUI自动化Java开发 Windows 环境配置,供各位亲们参考,若有不足之处,敬请各位大神指正,非常感谢! 所需软件列表如下所示: 所属分类 具体名称 备注 ...
- 【微信小程序开发】页面配置
app下的app.json文件是全局配置. app下的每一个page中,也可以配置.json文件. page中配置的内容是对应app中window配置项下的内容. page中的配置将覆盖window中 ...
- Android开发adb环境配置
adb的全称为Android Debug Bridge,就是起到调试桥的作用. 在命令行cmd中打开adb,如果Android开发的环境配置有误,会出现如下错误提示: 解决方法,右键我的电脑-> ...
- PHP开发调试环境配置(基于wampserver+Eclipse for PHP Developers )
1 软件准 WampServer 下载地址:http://www.wampserver.com/en/#download-wrapper 我下的是 里面包含了搭建PHP必须的4个软件: 1. ...
- Eclipse++Xdebug开发php环境配置
一.php环境配置: 本次使用了appserv 2.5.10集成安装包.具体版本如下,安装后php版本是5.2.6 vc6,apache版本2.2 安装完成后,php配置文件在c:\windows目录 ...
- freeMarker(八)——程序开发指南之配置(Configuration)
学习笔记,选自freeMarker中文文档,译自 Email: ddekany at users.sourceforge.net 1.基本内容 配置(configuration)就是 freemark ...
- PHP开发调试环境配置
——基于wamp和Eclipse for PHP Developers 引言 为了搭建PHP开发调试环境,我曾经在网上查阅了无数的资料,但没有一种真正能够行的通的.因为PHP开发环境需要很多种软件相互 ...
- 微信小程序Server端环境配置
主要内容:1. SSL免费证书申请步骤2. Nginx HTTPS 配置3. TLS 1.2 升级过程 微信小程序要求使用 https 发送请求,那么Web服务器就要配置成支持 https,需要先申请 ...
随机推荐
- 魔兽争霸war3心得体会(一):UD的冰甲蜘蛛流
玩war3好几年了,之前都是打打电脑,随便玩玩的.刚刚在浩方等平台上和人玩的时候,各种被虐,很难赢一局.从去年开始,才认真玩.思考下各种战术. 最初,使用的是兽族orc,后来觉得兽族不够厉害,玩到对战 ...
- 【rlz01】完全数
Time Limit: 3 second Memory Limit: 2 MB 问题描述 所谓完全数,就是这个数除了它本身的约数之和也等于这个数,比如说6的约数有1.2.3,而1+2+3=6,所以6是 ...
- Solving the Problem of Overfitting
The Problem of Overfitting Cost Function Regularized Linear Regression Note: [8:43 - It is said that ...
- mac系统创建.开头文件.htaccess
thinkphp5 隐藏index.php的时候需要用的.htaccess文件,但是mac默认不让创建这种文件 感谢 https://blog.csdn.net/gyz413977349/articl ...
- Android多线程研究(1)——线程基础及源码剖析
从今天起我们来看一下Android中的多线程的知识,Android入门容易,但是要完成一个完善的产品却不容易,让我们从线程开始一步步深入Android内部. 一.线程基础回顾 package com. ...
- rabbitMQ服务安装
1.rabbitMQ简介 1.1.rabbitMQ的优点(适用范围)1. 基于erlang语言开发具有高可用高并发的优点,适合集群服务器.2. 健壮.稳定.易用.跨平台.支持多种语言.文档齐全.3. ...
- spring mvc 解决csrf跨站请求攻击
http://www.dewen.net.cn/q/935/spring+mvc+%E8%A7%A3%E5%86%B3csrf%E8%B7%A8%E7%AB%99%E8%AF%B7%E6%B1%82% ...
- Android NDK开发之Jni的数据类型
在前面的一篇博客<Android NDK开发简介>,我简单地说明了Android NDK开发的流程,以及其重要的一环:JNI层得开发.今天我再详细说明一下自己的学习经验. JNI是Java ...
- Android Studio Gradle:Resolvedependencies':app:_debugCompile' 问题解决纪录
问题描述: 第一次使用AndroidStudio打开已经存在的AndroidStudio项目,卡在Gradle:Resolvedependencies':app_debugCompile'步骤,即使进 ...
- [Angular] Subscribing to the valueChanges Observable
For example we have built a form: form = this.fb.group({ store: this.fb.group({ branch: '', code: '' ...