一、关于GO开发环境的安装和配置
 
     在linux环境中安装编译好的go安装包,参考官方指南的步骤一步步走下来就可以了。需要注意的是以下几个环境变量的配置:
       GOROOT - go编译库的目录,类似于java的JAVA_HOME
       PATH - 注意把$GOROOT/bin添加上去
       GOPATH - go工作目录,类似于eclipse的workspace
 
       以下是具体的安装步骤和环境配置
 
       $ wget https://storage.googleapis.com/golang/go1.6.linux-amd64.tar.gz
 
       $ tar -C /usr/local -xzf go1.6.linux-amd64.tar.gz
 
        安装目录是/usr/local/go, 工作目录是/usr/local/golang/work。把环境变量添加到/ect/profile文件中以便对全局生效。
        
 
二、GO工程的代码组织
 
     典型的GO工作目录一般包含3个目录  
 
    $GOPATH/
        bin/                                    # 二进制执行文件的输出路径,一般由go编译器自动生成
 
        pkg/                                   # 中间库文件,由go编译器自动生成,按照不同OS架构平台分目录输出
            linux_amd64/                     # linux 64bit
            windows_amd64/                # windows 64bit
 
        src/                                    # 手工创建,存放所有的go源码文件,按package存放在不同子目录下
            github.com/[user]/xxx         # 需要git管理版本的情况,建议的目录结构
 
  • 建议把所有的go代码都放到单一的工作目录下(即$GOPATH指向的目录)
  • 一个工作目录下可以包含不同的版本控制库(git repository)
  • 每个版本控制库可以包含一个或多个包(package)
  • 每个包(package)包含一个或多个go源代码文件(注意同一个包的多个go文件需放到同一目录下,包名需相同,建议包名为当前目录路径的最后一层。举例如 go文件存放在$GOPATH/src/test1/stringutil目录下,则包名为stringutil)
  • 引入一个包(import)时引入路径就是这个包所在的目录路径(相对于$GOPATH/src的相对路径)

GO1.6语言学习笔记2-安装配置及代码组织的更多相关文章

  1. GO1.6语言学习笔记3-工具篇(SublimeText 3+GoSublime组合)

    选择SublimeText作为开发工具的原因,最最主要的是它够轻巧,搭配GO开发才能有飞一般的感觉.当然作为开发工具之一,Sublime组合工具也提供足够强大的功能. 自动化提示代码 保存的时候自动格 ...

  2. Node.js 学习笔记 (一) 安装配置

    Node.js 安装配置 本安装教程以Node.js v4.4.3 LTS(长期支持版本)版本为例 Window 上安装Node.js 你可以采用以下两种方式来安装. 1.Windows 安装包(.m ...

  3. Hadoop学习笔记: 安装配置Hive

    1. 在官网http://hive.apache.org/下载所需要版本的Hive,以下我们就以hive 2.1.0版为例. 2. 将下载好的压缩包放到指定文件夹解压,tar -zxvf apache ...

  4. Hadoop学习笔记: 安装配置Hadoop

    安装前的一些环境配置: 1. 给用户添加sudo权限,输入su - 进入root账号,然后输入visudo,进入编辑模式,找到这一行:"root ALL=(ALL) ALL"在下面 ...

  5. [Freescale]E9学习笔记-LTIB安装配置

    转自:http://blog.csdn.net/girlkoo/article/details/44535979 LTIB: Linux Target Image Builder Freescale提 ...

  6. blfs(systemd版本)学习笔记-编译安装配置dhcpcd

    我的邮箱地址:zytrenren@163.com欢迎大家交流学习纠错! dhcpcd项目地址:http://www.linuxfromscratch.org/blfs/view/stable-syst ...

  7. blfs(systemv版本)学习笔记-编译安装配置dhcpcd

    我的邮箱地址:zytrenren@163.com欢迎大家交流学习纠错! dhcpcd项目地址:http://www.linuxfromscratch.org/blfs/view/8.3/basicne ...

  8. MySQL学习笔记-MHA安装配置

    一.配置主从同步   1. 本例中主从ip及端口 Master:10.1.5.8:3306 Slave1:10.1.5.9:3306 (候选master) Slave2:10.1.5.195:3306 ...

  9. GO1.6语言学习笔记1-基础篇

    一.GO语言优势   可直接编译成机器码,Go编译生成的是一个静态可执行文件,除了glibc外没有其他外部依赖 静态类型语言,但是有动态语言的感觉 语言层面支持并发.Goroutine和channel ...

随机推荐

  1. AngularJs HTTP响应拦截器实现登陆、权限校验

    $httpAngularJS 的 $http 服务允许我们通过发送 HTTP 请求方式与后台进行通信.在某些情况下,我们希望可以俘获所有的请求,并且在将其发送到服务端之前进行操作.还有一些情况是,我们 ...

  2. Java基础(六):继承

    1.继承的概念: 继承是java面向对象编程技术的一块基石,因为它允许创建分等级层次的类.继承就是子类继承父类的特征和行为,使得子类对象(实例)具有父类的实例域和方法,或子类从父类继承方法,使得子类具 ...

  3. window.open()页面之间函数传值

    项目中遇到的问题,使用window.open()开一个页面之后,cookie会消失,所以无法一键切肤不管作用,解决方案如下: window.open()总结: window.open("sU ...

  4. Back Track 5 之 网络踩点

    DNS记录探测 dnsenum 针对NDS信息收集的工具 格式: ./dnsenum.pl dbsserver (域名) 请原谅我拿freestu.net这个学校团委的域名做的测试,求不黑!! dns ...

  5. GIT 恢复已删除的提交

    在Git中一切的操作都是可以恢复的,包括已经删除的提交,今天在做一个项目时就遇到了这种问题,也不知道是怎么回事不小心就把上午提交的所有代码都删除了,于是赶紧通过git log来查看日志,但奇怪的是当时 ...

  6. MySQL监控、性能分析——工具篇

    https://blog.csdn.net/leamonjxl/article/details/6431444 MySQL越来越被更多企业接受,随着企业发展,MySQL存储数据日益膨胀,MySQL的性 ...

  7. (C++)i++和++i,哪个效率高一些

    在看<程序员面试笔试宝典>时,发现了这样一个问题,书中只给出了++i的效率高一些,但并没有给出具体的解释和说明. 在网上找到下面的答案: 1.从高级层面上解释 ++i 是i=i+1,表达式 ...

  8. Android 之数据传递小结

    Android开发中,在不同模块(如Activity)间经常会有各种各样的数据需要相互传递,常用的的有五种传递方式.它们各有利弊,有各自的应用场景.下面分别介绍一下: 1. Intent对象传递简单数 ...

  9. JSP 页面传值

    使用session会话传值并重定向页面 //得到用户提交的值 String name = request.getParameter("username"); String pwd ...

  10. Linux下Tar压缩使用

    具体的可以在linux环境下 用tar --help查看详细说明格式:tar [option] file -c create create a new archive -x extract extra ...