这次是在ubuntu14.04 amd64上搭建go的编译环境,使用的IDE换成了sublime text,具体步骤参照的是 http://blog.csdn.net/aqiang912/article/details/46775409 ,我就不赘述了。

关于依赖分析,应该算是比较头疼的地方了。花了点时间看了语法,发现除了一些很不一样的地方比如类型放在变量后面等,其他大多跟C和java类似,很容易上手。

下面以一个小例子来说明golang是怎么import一个包的:

首先我们在自己的主目录下创建一个文件夹test,里面创建一个go文件,test.go,内容如下:

package test

import "fmt"

func Test() {
fmt.Printf("This is test->Test func\n")
}

接着我们需要把这个包编译一下,简单,对着这个目录go install 或者go bulid,结果如下:

提示说没有设置GOPATH环境变量,ok,设置一下呗,然后继续build和install

export GOPATH=~/go

结果还是报错,

然后我就去查了这gopath到底怎么设置呀,找到了这篇文章,http://www.jb51.net/article/56779.htm

里面分析了gopath下应该有一个src文件夹,把源文件放这里面,完成之后再进行编译。

所以我在~/go文件夹下又建了一个src文件夹,把test文件夹移入到~/go/src下,之后再对test文件夹进行编译,go build test, go install test结果如下:

什么都没显示,说明编译成功!

接着进行测试,在go目录下新建hello.go文件,内容如下:

package main

import "test"

func main() {
test.Test()
}

运行hello.go , go run hello.go, 结果如下:

到此,已经完成了自己建包并导入的过程。

后续:

后面我发现我修改了test.go之后,在没有再次编译的情况下直接运行hello.go,里面的内容没有发生变化。所以还需要再编译一下,我首先用了go build test,发现还是没变,然后用了go install test,这次就可以了,查看了一下go build 和go install的说明,发现如下:

build只是编译,而install还将编译后的文件放入了pkg文件夹中,两者的区别讨论:http://www.golangtc.com/t/549ec036421aa9396a0000c7

私以为还是多用install,毕竟功能强大一些。

花了半天,对go语言研究了一下,做了些微小的工作,惭愧惭愧(笑脸。

【go】继续go go go,ubuntu环境搭建及golang的依赖关系分析的更多相关文章

  1. Ubuntu环境搭建系列—JavaEE篇

    恩,其实我是一时兴起,所以就写了目前这几篇环境的博文,希望能给自己做一个笔记,同时也能够给一些新手带来一些帮助,不会在配置方面那么迷茫.本篇文章主要就是针对Java web开发进行环境搭建. 一.To ...

  2. Ubuntu环境搭建1

    Ubuntu环境搭建(一) 其实每次重装Ubuntu系统的时候都要进行一次基本到环境配置,而且每次总会忘记一些环境配置到东西,所以就写下这个博文,方便自己以后重装系统的时候回顾,同时也给大家做为重装系 ...

  3. Ubuntu环境搭建svn服务器

    记录一次使用Ubuntu环境搭建svn服务器的详细步骤 一.查看是否已经安装svn 命令:svn如果显示以下信息,说明已安装   二.卸载已安装的svn 命令:sudo apt-get remove ...

  4. 【转】Ubuntu环境搭建svn服务器

    记录一次使用Ubuntu环境搭建svn服务器的详细步骤 一.查看是否已经安装svn 命令:svn如果显示以下信息,说明已安装 二.卸载已安装的svn 命令:sudo apt-get remove -- ...

  5. Ubuntu环境搭建系列—WPS/LAMP/Python篇

    由于篇幅不宜太长,所以就将此文分成了两部分,在第一部分中我们讲解了google-chrome(谷歌浏览器)的安装,jdk的环境配置,android开发的环境搭建.那么在第二部分中,位们将讲解的是金山W ...

  6. Ubuntu环境搭建系列—Chrome/JDK/Android篇

    其实每次重装Ubuntu系统的时候都要进行一次基本到环境配置,而且每次总会忘记一些环境配置到东西,所以就写下这个博文,方便自己以后重装系统的时候回顾,同时也给大家做为重装系统后基本环境搭建的参考. 因 ...

  7. Python入门(一,Ubuntu环境搭建)

    一,Python下载 下载地址:http://www.python.org/download/ 二,安装 在Ubuntu平台上安装Python步骤: 1.解压缩下载的源码压缩包 2.在解压缩的目录下执 ...

  8. Keras + Ubuntu环境搭建

    安装Theano (环境参数:Ubuntu 16.04.2  Python 2.7) 安装 numpy 和 scipy 1.sudo apt-get install python-numpy pyth ...

  9. 阿里云Ubuntu环境搭建Docker服务

    经过昨天和今天的不断奋战,在阿里云里面搭建Docker并不easy. 所以我认为有必要记录下来,以供后人学习. 以及我自己的回想. 首先,查看我们的系统版本号: cat /etc/issue 的到的输 ...

随机推荐

  1. javascript拖拽原理与简单实现方法[demo]

    美国人有一句常用的俗语—“Re-inventing the Wheel”,从字面上来解释就是“重新发明轮子”.可是轮子早已问世,再要去发明岂非劳而无功? 产品经理发下需求,实施者再到网上搜索代码,也许 ...

  2. {转}用ADMM求解大型机器学习问题

    [本文链接:http://www.cnblogs.com/breezedeus/p/3496819.html] 从等式约束的最小化问题说起:                               ...

  3. bzoj 1006 MCS算法

    根据陈丹琪的论文弦图与区间图,求出弦图的完美消除序列之后,反向给每个点染可以染的最小的颜色,这样可以使用最少的颜色染色,染色的方案即为队伍数. 那么我们需要求该图的完美消除序列,使用MCS算法,从后向 ...

  4. bzoj 1046 LIS

    假设我们知道以每个点开始到最后的最长上升序列,设为w[i],这样首先我们在w值中取max,如果询问的值比max大,这样显然就是无解,如果小的话,我们需要求出来字典序最小的方案. 那么对于所有i,我们肯 ...

  5. 利用最新Apache解析漏洞(CVE-2017-15715)绕过上传黑名单

    转载自:https://www.leavesongs.com/PENETRATION/apache-cve-2017-15715-vulnerability.html 目标环境: 比如,目标存在一个上 ...

  6. 解决linux下终端无法输入的假死问题

    有时在linux下shell终端中,会突然出现终端应用卡死,无法接受键盘输入, 但是其它分屏, 系统都是正常的.这本来是一个终端的很老的功能, 叫软件流控制(XON/XOFF flow control ...

  7. fork与vfork区别

    1. 地址空间各段拷贝: fork: 内核为子进程生成新的地址空间结构,拷贝父进程的代码段,数据空间,堆,栈到自身的地址空间,但注意:子进程的代码段并不会分配物理空间,而是指向父进程的代码段物理空间, ...

  8. openssl-0.9.8y

    openssl-0.9.8y 支持 32位和64位 编译不报错和向上兼容和向下兼容. http://www.openssl.org/source/openssl-0.9.8y.tar.gz https ...

  9. Android 开发之避免被第三方使用代理抓包

    现象:charles抓不到包,但wireshark,HttpAnalyzor可以抓到包. 关键代码: URL url = new URL(urlStr); urlConnection = (HttpU ...

  10. 使用UpdatePanel时FileUpload失效的问题

    出处:http://www.cnblogs.com/caicainiao/archive/2010/12/08/1900377.html 1.使用UpdatePanel后,FileUpload的Has ...