当前位置: > > > > 在项目中使用多个包与单个包
在项目中使用多个包与单个包
来源:stackoverflow
2024-04-25 20:18:38
0浏览
收藏
怎么入门Golang编程?需要学习哪些知识点?这是新手们刚接触编程时常见的问题;下面米云就来给大家整理分享一些知识点,希望能够给初学者一些帮助。本篇文章就来介绍《在项目中使用多个包与单个包》,涉及到,有需要的可以收藏一下
问题内容
我的基本 go 项目结构如下:
src/github.com/jeeves/my-project/
|- main.go
|- models/
|- user.go
main.go 的内容是 –
package main
var log = initializelogger()
func main() {
// do stuff
}
func initializelogger() *logging.logger {
// build and return a logger
}
models/user.go 的内容是
package main
type User struct {
Firstname string `json:"first_name"`
Lastname string `json:"last_name"`
}
// other functions
我很好奇设置包结构的最佳方法 –
-
我的
models/user.go应该属于package models而不是package main的一部分吗?有什么区别?我如何知道何时使用? -
如果我确实使用
package models,models/user.go如何访问log中定义的全局main.go对象? (如您所见,我试图定义一个记录器一次并使其在我的应用程序中可访问。)
谢谢!
解决方案
为您的日志 API 制作一个单独的包,
将代码构建到包中应该基于功能, 包应该彼此独立,并且它们的名称应该代表该包的含义。
如果您有多个 models 并且 user 是其中之一,并且如果稍后要添加更多 model 类型,则制作一个包,例如 user、customer、...,它们是子包的`型号。
导入 user 时执行 .../modle/user
类似于 encoding/json。
无需对现有代码进行太多更改,只需进行最少的更改即可添加新包。
这里是社区维护的 ,其中包含更详细的项目布局信息。
好了,本文到此结束,带大家了解了《在项目中使用多个包与单个包》,希望本文对你有所帮助!关注米云公众号,给大家分享更多Golang知识!
