go语言学习——工程组织和GOPATH设置

go没有工程文件的概念,是通过目录结构来体现工程的结构关系。因此,在习惯了VC的那种工程文件组织形式的情况下,刚开始接触go有点不适应,一下子没有理解环境变量GOPATH的意义。

最开始看go的教程时,学写代码时,只在GOPATH里设置了一个目录。该目录下有src、bin、pkg三个目录,不同应用的代码都放在src中,显得比较凌乱。如下图,GOPATH是gopro目录,src下放了各种互不相关的应用的代码。

这还只是学习代码,可想而知,一旦是个真正的项目,代码必然要复杂的多,这样的组织形式相当不利于维护代码。

后来,开始看beego的代码,在看到过程中才明白,其实GOPATH中可以设置多个目录,每个目录就是每个项目的根目录,该项目的所有代码都放在该根目录下的src中,这样,不同的应用的代码就可以区分开了。如下图,gopro下有两个工程,分别是beego和seagull,每个工程下都有目录bin,pkg(seagull未编译,故暂无),src。将工程目录gopro/beego,gopro/seagull加入环境变量GOPATH即可。

时间: 2024-11-06 03:30:15

go语言学习——工程组织和GOPATH设置的相关文章

go项目工程目录组织和GOPATH设置

Golang没有工程文件的概念,是通过目录结构来体现工程的结构关系的. 刚开始写go程序的时候只有一个主程序文件(如main.go),也就没太在意go项目工程组织的重要性.最近着手看看网上的开源项目,感觉自己的go项目工程目录组织的太烂了,所以特意重新整理了一下. 按照go官方文档需要把项目根目录地址加到环境变量GOPATH里去,然而,在学习和工作中开发的程序中有多个项目,如果把每个项目的路径都加载到环境变量GOPATH里,那么不过多久环境变量GOPATH里的字符串想必就会超出微软定义环境变量的

cocos2dx 3.1从零学习(六)——CocosStudio(VS2013工程导入及环境设置)

导入libCocosStudio.libExtensions.libGUI 新建的工程如下图: 添加现有项目 右键解决方案,如下操作: 分别添加以下三个项目: (工程路径)\cocos2d\cocos\ui\proj.win32\libGUI.vcxproj (工程路径)\cocos2d\cocos\editor-support\cocostudio\proj.win32\libCocosStudio.vcxproj (工程路径)\cocos2d\extensions\proj.win32\li

Go语言(工程和包)

在Go语言中,包是函数与数据的集合,用package定义一个包,包的名字不一定要跟文件名字一样,接下来,将学习如何使用Go语言的包. 首先,我们创建一个Stack包,然后用一个主程序来调用这个包里面的方法.这实际上涉及到Go语言中的工程的分包和编译.Go语言是这么来配置它的工程的,如下图 其中package是工程的根目录,我们需要事先设置环境变量GOPATH,如下 而bin目录和pkg目录是go编译自动生成的,而src是手动创建的.所以创建工程的步骤大致是 (1)进入到package目录,即工程

Go语言学习笔记(一) : 搭建Windows下的Go开发环境

最近突然对Go语言产生了兴趣,主要是因为在使用python的时候遇到了一些不爽的问题,然后发现了Go.Go是Google出的一个动态语言,语法和C++接近,性能也非常的好,而且还支持编译成exe发布,并且不依赖任何虚拟机(其实是打包在exe里面了),这种好语言怎么能够错过?所以便一时兴起,开始学习了起来.由于本人还处于异常小白的阶段,所以文章中可能不免有些错误,欢迎大家各种指正. 安装Go 前往Go语言的官方网站:http://golang.org/, 下载对应平台的安装包.如果是x86的系统可

Go语言学习(一),Windows下安装配置Go语言的配置环境

Go语言学习,有两个重要部分,一是安装Go语言包,二是安装开发的编译器. 次篇博客借助(https://www.cnblogs.com/qicun/p/11378354.html)完成的 一.go语言的安装包在网址(https://golang.google.cn/dl/)下载, 下载完成后,直接安装,一直下一步就行,会出更改安装位置的选项, 可以更改,也可以不更改,不更改的话,默认在C:\Go\目录下 安装完成后截图如下: 安装完成后,目录结构如下图所示: 这个目录结构遵循GOPATH规则,G

关于c语言学习 谭浩强的书

2007-11-16 13:22:58|  分类: PROGRAMME |  标签: |举报 |字号大中小 订阅 广大有志于从事IT行业的同志们,在你们进入这一行之前千万请看这篇文章!太经典了!对你绝对有启发! 千万别买谭浩强和等级考试的书!!!!!! 整理别人的言论,请大家踊跃讨论!!!!!!!!!!!! 1:书皮上面有那么多的牛人题词,估计也许是自己的水平太低. 2:ANSI只给了两种方式:int main(void) {/*...*/}和 int main(int argc, char *

【C语言学习】存储类型

C语言中的存储类型主要有四种:auto.static.extern.register ★auto存储类型 默认的存储类型.在C语言中,如果忽略了变量的存储类型,那么编译器就会自动默认为auto型 ★register存储类型 寄存器变量.寄存器位于CPU,它的特点是:容量小.速度快.它一般用来暂存程序中使用频繁的变量.或者一些中间变量等,能提高程序的执行速度.此类别的变量会优先分配寄存器. ★static存储类型 static定义的变量都是静态变量,用于限制作用域,无论是全局变量还是局部变量都存储

20165333 学习基础和C语言学习基础

说实话,我并没有什么技能比90%以上的人更好,非要拿一个出来的话,篮球勉强好一点吧.最初接触篮球是小学的时候跟着哥哥看他打球,哥哥的球技在同龄人中算是好的,每次看他各种突破过人,我都觉得特别潇洒帅气,在那是我心中就埋下了打好篮球的种子,从那时起,每周我都会都会打一场,但都是瞎打着玩,没什么提高.技术提升最快是在大学的前三个学期,只要一有空,我就会去打球,睡觉前都会看NBA过人剪辑,过人投篮教学视频,第二天便会反复练习视频上的动作,三个学期后,我的投篮突破,上篮,勾手等都有了很大的进步. 我觉得我

C++语言学习(四)——类与对象

C++语言学习(四)--类与对象 一.构造函数(constructor) 1.构造函数简介 C++语言中,构造函数是与类名相同的特殊成员函数.在类对象创建时,自动调用构造函数,完成类对象的初始化.类对象本身是变量,在栈.堆上创建的对象,对象的成员初始化为随机值:在静态存储区创建的对象,对象的成员初始化为0. 2.构造函数的定义 构造函数声明的语法如下:classname(parameters);没有参数的构造函数称为无参构造函数.当类中没有定义构造函数(包括拷贝构造函数)时,编译器默认提供一个无