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

  Golang没有工程文件的概念,是通过目录结构来体现工程的结构关系的。

  刚开始写go程序的时候只有一个主程序文件(如main.go),也就没太在意go项目工程组织的重要性。最近着手看看网上的开源项目,感觉自己的go项目工程目录组织的太烂了,所以特意重新整理了一下。

  按照go官方文档需要把项目根目录地址加到环境变量GOPATH里去,然而,在学习和工作中开发的程序中有多个项目,如果把每个项目的路径都加载到环境变量GOPATH里,那么不过多久环境变量GOPATH里的字符串想必就会超出微软定义环境变量的最大长度。所以本人使用了相对变量,即减少了目录太长也方便管理。效果如下:

 

时间: 2024-10-10 21:14:48

go项目工程目录组织和GOPATH设置的相关文章

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

go没有工程文件的概念,是通过目录结构来体现工程的结构关系.因此,在习惯了VC的那种工程文件组织形式的情况下,刚开始接触go有点不适应,一下子没有理解环境变量GOPATH的意义. 最开始看go的教程时,学写代码时,只在GOPATH里设置了一个目录.该目录下有src.bin.pkg三个目录,不同应用的代码都放在src中,显得比较凌乱.如下图,GOPATH是gopro目录,src下放了各种互不相关的应用的代码. 这还只是学习代码,可想而知,一旦是个真正的项目,代码必然要复杂的多,这样的组织形式相当不

博客园客户端(Universal App)开发随笔 - UAP中的项目和目录组织

前言 本篇随笔主要是分享一下做一个Universal App的目录组织结构,说明什么样的结构才能适合一个团队开发,使开发成员之间的相互影响最小.这些组织好的项目和目录会成为一个公共的规约,大家都能知道什么东西应该放在哪里,或者在什么地方能找到什么功能.这对于避免重复写code或者最大限度地复用code来说是至关重要的. 这种工程结构和目录划分虽然没有什么理论基础,但是是经过我们很多项目的经验总结出来的,如果是个人开发者,也严重建议参考此组织结构,能够帮助你理清思路,做好功能设计和类设计. 项目组

如何用.bat文件清理工程目录

用VS2010写的C++项目工程目录里总是有一些不需要的临时编译文件或VS的数据索引文件,这些文件体积具大,比如.sdf文件经常达到70M左右,这给代码备份带来了一些麻烦. 代码备份时,只需要留下一些需要的源文件,而这些文件往往加起来只有不到1M,所以清理工程目录是一个非常有必要做的事情. 以下是一个清理工程目录的.bat文件 @echo Off del /s /a *.exe *.suo *.ncb *.user *.pdb *.netmodule *.aps *.ilk *.sdf 2>nu

angularJs项目实战!01:模块划分和目录组织

近日来我有幸主导了一个典型的web app开发.该项目从产品层次来说是个典型的CRUD应用,故而我毫不犹豫地采用了grunt + boilerplate + angularjs + bootstrap + D3 + requirejs 的架构来实现它.angularjs早在去年6月份我就有所接触,将它应用在实验室项目的个别页面中,11月份在新浪的时候也将其推荐给了所在云事业部项目组.项目组老大程辉等人都是很有技术敏感性的人,大胆地采纳了我的建议,将之应用于原本使用dojo开发的项目前端模块上.然

Android studio相关设置及实现存在于工程目录中的视频播放

一:相关设置 1:主题设置 File-->Settings-->Appearance &Behavior-->Appearance-->THeme 2:Java源码的颜色.字体设置 字体:File-->Settings-->Editor-->Colors&Fonts-->Font  注意:修改之前先Save as保存原来的,然后才可以改成你想要的字体. 源码颜色:File-->Settings-->Editor-->Colo

像Maven一样构建java项目的目录,更好的管理java工程的源码

都知道maven具有管理Java或者Javaweb的功能.我个人尤其看中的是其代码层次的分离.不同的代码在不同的文件夹下.这是在eclipse新建一个普通的工程无法实现的.而如果用maven实现有时候显得有点没有必要,特别是平时练习写代码的时候.能不能手动把普通的Java项目的目录结构修改为类似maven管理的项目的目录结构.这是当然可以的. Maven项目的目录结构: 从图中可以看出maven构建的Java web项目的目录很有层次感,src/main/java目录下存放的一般是项目的主要的代

visual studio 项目工程中相对目录

最近从TFS拿到一个很久没有人维护的项目,老是提示dll找不到. 弱弱地研究了一下,原来是相对路径惹的祸. 1. C#中相对路径的表示:. 表示当前目录,..表示上一级目录 2. 工程中的引用 <Reference Include="XXXX.Data"> <HintPath>..\..\..\..\..\..\..\Common\XX\XX\XX\v1.1.0.1105\XXXX.Data.dll</HintPath> </Reference

Maven详解(三)------ Maven工程目录介绍

上一章我们配置并安装好了 Maven,那么这一章我们介绍如何用eclipse创建一个 Maven 工程,然后介绍 Maven 工程的目录结构. 1.eclipse 创建 Maven 工程 第一步:File-->New--->Maven Project 第二步:勾上 Create a simple project ,然后点击 next 第三步:填写 Group Id 和 Artifact Id groupid和artifactId被统称为“坐标”是为了保证项目唯一性而提出的,如果你要把你项目弄到

Django 工程目录结构

你已经配置好你的Heroku账户(译者注:Heroku是一个老牌的免费云空间),并且创建了第一个Heroku应用,让我们来讨论一个非常重要的话题(虽然经常被忽略):Django工程结构管理. 概述 多数Django工程非常混乱.不幸的是默认的Django工程布局并没有对此有任何帮助,它过于简单对工程的管理导致在处理大的工程时带来很多维护性问题. 本文将帮助让你的工程有个合理的布局.致力于: 遵循最佳实践 让你的工程尽可能地直观--你(作为开发者)可以立即认出代码每个部分的作用 让你工程仍然保持规