golang项目结构

简介: 一、概述  golang更新了环境变量,导致整个goproject的结构改变: 1 [root@node175 goproject]# tree -L 2 2 . 3 ├── bin 4 │   └── demo 5 ├── pkg 6 │   └── linux_amd64 7 ...

一、概述

  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 

 

相关文章
|
5月前
|
JSON 运维 Go
Go 项目配置文件的定义和读取
Go 项目配置文件的定义和读取
|
2月前
|
Go API 数据库
Go 语言中常用的 ORM 框架,如 GORM、XORM 和 BeeORM,分析了它们的特点、优势及不足,并从功能特性、性能表现、易用性和社区活跃度等方面进行了比较,旨在帮助开发者根据项目需求选择合适的 ORM 框架。
本文介绍了 Go 语言中常用的 ORM 框架,如 GORM、XORM 和 BeeORM,分析了它们的特点、优势及不足,并从功能特性、性能表现、易用性和社区活跃度等方面进行了比较,旨在帮助开发者根据项目需求选择合适的 ORM 框架。
159 4
|
2月前
|
存储 JSON Go
如何在 Go 项目中隐藏敏感信息,比如避免暴露用户密码?
在Go语言开发中,用户信息管理常涉及敏感数据如密码的处理。为防止这些数据暴露给客户端,本文介绍了三种方法:使用JSON标签忽略字段、自定义序列化逻辑、使用数据传输对象(DTO),以确保用户数据的安全性。通过这些方法,可以有效控制数据输出,避免敏感信息泄露。
47 1
|
2月前
|
中间件 Go API
Go语言中几种流行的Web框架,如Beego、Gin和Echo,分析了它们的特点、性能及适用场景,并讨论了如何根据项目需求、性能要求、团队经验和社区支持等因素选择最合适的框架
本文概述了Go语言中几种流行的Web框架,如Beego、Gin和Echo,分析了它们的特点、性能及适用场景,并讨论了如何根据项目需求、性能要求、团队经验和社区支持等因素选择最合适的框架。
163 1
|
3月前
|
SQL 关系型数据库 MySQL
Go语言项目高效对接SQL数据库:实践技巧与方法
在Go语言项目中,与SQL数据库进行对接是一项基础且重要的任务
113 11
|
3月前
|
Go
使用go语言将A助手加入项目中
使用go语言将A助手加入项目中
29 2
|
3月前
|
存储 Kubernetes Go
Go语言项目组织架构
Go语言项目组织架构
|
5月前
|
JSON 中间件 Go
go语言后端开发学习(四) —— 在go项目中使用Zap日志库
本文详细介绍了如何在Go项目中集成并配置Zap日志库。首先通过`go get -u go.uber.org/zap`命令安装Zap,接着展示了`Logger`与`Sugared Logger`两种日志记录器的基本用法。随后深入探讨了Zap的高级配置,包括如何将日志输出至文件、调整时间格式、记录调用者信息以及日志分割等。最后,文章演示了如何在gin框架中集成Zap,通过自定义中间件实现了日志记录和异常恢复功能。通过这些步骤,读者可以掌握Zap在实际项目中的应用与定制方法
186 1
go语言后端开发学习(四) —— 在go项目中使用Zap日志库
|
5月前
|
API
企业项目迁移go-zero实战(二)
企业项目迁移go-zero实战(二)
|
5月前
|
JSON 缓存 监控
go语言后端开发学习(五)——如何在项目中使用Viper来配置环境
Viper 是一个强大的 Go 语言配置管理库,适用于各类应用,包括 Twelve-Factor Apps。相比仅支持 `.ini` 格式的 `go-ini`,Viper 支持更多配置格式如 JSON、TOML、YAML
108 0
go语言后端开发学习(五)——如何在项目中使用Viper来配置环境