golang项目结构

一、概述

  golang更新了环境变量,导致整个goproject的结构改变:

 1 [root@node175 goproject]# tree -L 2
 2 .
 3 ├── bin
 4 │   └── demo
 5 ├── pkg
 6 │   └── linux_amd64
 7 └── src
 8     ├── demo
 9
10 5 directories, 1 file
11
12 项目源码在src下,可以包含多个project: demo1, demo2 等等
13 此时bin, pkg均为空目录;
14 cd src && go install  demo
15 #此时, 生成了demo项目的lib文件在如下目录中
16 [root@node175 src]# ll ../pkg/linux_amd64/demo/
17 总用量 4
18 -rw-r--r-- 1 root root 914 9月  26 11:45 lib.a
19
20 # 此时, 生成了可执行文件在../bin目录下:
21 [root@node175 src]# ll ../bin/
22 总用量 1620
23 -rwxr-xr-x 1 root root 1654812 9月  26 11:55 demo

  为什么生成goproject是如此布局呢?

  答案在/etc/profile文件中的go env相关配置中;

1 export GOROOT=/root/xxx/go
2 export GOPATH=/root/xxx/goproject3 export GOBIN=/root/xxx/goproject/bin
4 export GOLIB=/root/xxx/goproject/
5 export PATH=$PATH:$GOBIN:$GOPATH/bin 

 

时间: 2024-08-04 06:26:49

golang项目结构的相关文章

Go项目结构和模块导入

golang项目结构与其他语言类似,但是仍然有一些需要注意的地方. 项目结构 环境配置 go 命令依赖一个重要的环境变量:$GOPATH,它表示GO项目的路径,如下设置 export GOPATH=/home/t/gospace 对于GOPATH来说,允许多个项目目录(Unix中为":",Windows中为":"). 项目目录 在项目目录中,一般包含三个文件夹,分别为src,pkg和 bin.各个文件夹功能如下, src 存放golang源码 pkg 存放编译后的文

ThinkPHP修改项目结构

纯属闲着无聊的- -!,前两天一直研究dede,放弃了.无聊最近准备研究ThinkPHP,但是ThinkPHP生成的目录的结构让我很郁闷,个人还是比较喜欢dede之类的那种比较简单的结构,所以今天就下手改了一下.现在分享出来给大家. 1.先修改生成项目目录的主体结构,这个不需要修改ThinkPHP的源码(也可以修改,如果是初学者,最好还是先别修改了) 新建index.php入口文件,然后不按照手册新建项目.输入以下代码; $root=dirname(__FILE__); $root=str_re

Android零基础入门第15节:掌握Android Studio项目结构,扬帆起航

原文:Android零基础入门第15节:掌握Android Studio项目结构,扬帆起航 经过前面的学习,Android Studio开发环境已准备OK,运行Android应用程序的原生模拟器和Genymotion模拟器都准备妥当.在之前简单讲过Eclipse中Android工程的项目结构和运行原理,那么本期就来一起来了解一下Android Studio的项目结构.     一.项目查看模式   前面在熟悉Android Studio界面中提到了Project项目工具窗口,一共支持10种查看模

《Python高手之路》——1.2 项目结构

1.2 项目结构 项目结构应该保持简单,审慎地使用包和层次结构,过深的层次结构在目录导航时将如同梦魇,但过平的层次结构则会让项目变得臃肿. 一个常犯的错误是将单元测试放在包目录的外面.这些测试实际上应该被包含在软件的子一级包中,以便: 避免被setuptools(或者其他打包的库)作为tests顶层模块自动安装: 能够被安装,且其他包能够利用它们构建自己的单元测试. 图1-1展示了一个项目的标准的文件层次结构. setup.py是Python安装脚本的标准名称.在安装时,它会通过Python分发

《Android 应用案例开发大全(第二版)》——1.7节Android应用程序的项目结构

1.7 Android应用程序的项目结构 Android 应用案例开发大全(第二版) 从上面的项目中读者已经知道了通过Android SDK可以自动生成一个项目包,但是没有对项目包里的内容进行介绍,本节对项目包中的内容进行一一介绍,项目包如图1-35所示. src源代码目录:该目录存放Android应用程序所有的源代码.该目录项有不同的包,包中对应开发的源程序,开发人员开发的主要精力都集中在开发src目录下内容. gen文件夹目录:该目录存放了Eclipse的ADT插件自动生成的R.java文件

MVC项目结构搭建及单个类的实现学习笔记1_实用技巧

新人刚开始学习ASP.NET MVC,若有不足之处希望能得到您的指点,不胜感激! 先来一张项目的层级结构图: Model:模型层,主要是各种类型.枚举以及ORM框架,框架完成数据库和实体类的映射.项目中选用了微软的开源ORM框架 EntityFramework 6.0 (以下简称EF),数据库则选择了微软的轻量级数据库SQL Server Compact 4.0本地数据库(简称Compact),Compact对EF支持比较完美,又属于文档型数据库,部署起来比较简洁. DAL:数据访问层,主要是对

MVC 5 第二章 MVC5应用程序项目结构_实用技巧

单从MVC的字面意思我们便能够注意到M-模型, View-视图, Controller-控制器,他们都各自存储在解决方案下的单独的文件夹中.除此之外还有很多有用的信息值得我们去探索,废话少说,首先我们来看一下MVC 5的项目结构. 通过上图,我们可以清晰地了解到MVC 5应用程序的项目结构,接下来我们来依次解释下他们各自的应用. App_Data: 该文件夹主要是包含应用程序的本地存储, 它通常以文件形式(如Microsoft SQL Server数据库文件, XML文件等)包含数据存储. Ap

《iOS9开发快速入门》——第2章,第2.3节Xcode 7.0项目结构

2.3 Xcode 7.0项目结构iOS9开发快速入门一个Xcode 7.0项目包括了代码.界面.各类资源等.以下主要讲解Xcode 7.0的项目结构,以Hello项目为例,如图2.8所示. Hello文件夹:里边包含了应用程序的代码和编辑界面.Hello xcodeproj:是项目文件.1.png:是添加的图像文件.HelloTests与HelloUITests文件夹中包含了测试的代码以及配置文件.

iOS项目结构目录参考图示

对于iOS项目开发来说,一个清晰.合理.易于维护的项目结构目录对于多人协作的开发,也是一件非常重要的事(注意:务必让xcode的工程目录和实际的文件目录一致,否则难以管理). 这里以一个MVC架构的iOS项目(包括iphone端和ipad端,开发技术包括native和hybrid)为例(其他架构在子目录下相应增加个别文件夹即可),给出一个项目结构目录参考图示.