一、关于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. 锐浪报表 导出 PDF ANSI码 乱码 问题解决

    锐浪 报表 导出PDF时如果 ANSI 码 打勾了会乱码,能将这个选项默认不打勾吗 //在报表导出事件脚本里写脚本,可实现导出控制Sender.AsE2PDFOption.AnsiTextMode=0 ...

  2. 交叉编译git

    git依赖openssl.zlib. 首先编译openssl ./Configure linux-armv4 shared 修改Makefile,CC.RANLIB.MAKEDEPPROG为对应的交叉 ...

  3. 微信小程序价值思考:手机端的CS-BS迁移

    从很多特点来看,小程序都非常类似于网页:主要的业务逻辑在服务端.客户端无需安装应用程序.小程序的开发采用的HTML+JS+CSS技术等等.张小龙自己对小程序的定位也大概如此:无意做小程序分发平台,只是 ...

  4. 解决Sublime包管理package control 报错 There are no packages available for installation

    解决Sublime包管理package control 报错 There are no packages available for installation 真的是哔了狗了,要不是我机智的重新安装了 ...

  5. [Node.js]27. Level 5: URL Building & Doing the Request

    Let's create a page which calls the twitter search API and displays the last few results for Code Sc ...

  6. 4. Add override methods to class

    1. In the class, right click 2. "Scource" 3. "Override / Implement Menthods" 4. ...

  7. listView/GridView getChild获取不到的解决方法

    在onCreate或onResume中调用了getChildAt()方法,这时候adapter中的Item还没有放入到AdapterView中去.... 解决方法,当activity获得焦点事件的时候 ...

  8. ORACLE常用监控语句(未完待续)

    --查询日志的切换频率 select  t1.RECID as srecid        ,t2.RECID as erecid        ,t1.FIRST_TIME as stime     ...

  9. Hibernate(五)基本数据类型

    一.Hibernate的基本数据类型 3种数据类型之间的对应关系 Hibernate映射类型 Java类型 标准SQL类型 integer java.lang.Integer INTEGER long ...

  10. 转:Python 从FTP 下载数据的例子

    <hadoop权威指南>的天气数据可以在ftp://ftp3.ncdc.noaa.gov/pub/data/noaa下载,在网上看到这个数据好开心,打开ftp发现个问题,呀呀,这么多文件啊 ...