从v2
版本开始,项目的创建不再依赖远端获取,仓库模板已经通过资源管理的方式内置到了工具二进制文件中,因此项目创建速度非常迅速。
$ gf init -h
USAGE
gf init ARGUMENT [OPTION]
ARGUMENT
NAME name for the project. It will create a folder with NAME in current directory.The NAME will also be the
module name for the project.
OPTION
-m, --mono initialize a mono-repo instead a single-repo
-h, --help more information about this command
EXAMPLE
gf init my-project
gf init my-mono-repo -m
我们可以使用init
命令在当前目录生成一个示例的GoFrame
空框架项目,并可给定项目名称参数。生成的项目目录结构仅供参考,根据业务项目具体情况可自行调整。
GoFrame
框架开发推荐统一使用官方的go module
特性进行依赖包管理,因此空项目根目录下也有一个go.mod
文件。
工程目录采用了通用化的设计,实际项目中可以根据项目需要适当增减模板给定的目录。例如,没有kubernetes
部署需求的场景,直接删除对应deploy
目录即可。
$ gf init .
initializing...
initialization done!
you can now run "gf run main.go" to start your journey, enjoy!
$ gf init myapp
initializing...
initialization done!
you can now run "cd myapp && gf run main.go" to start your journey, enjoy!
默认情况下创建的是SingleRepo
项目,若有需要也可以创建一个MonoRepo
(大仓)项目,通过使用-m
选项即可。
$ gf init mymono -m
initializing...
initialization done!
GoFrame是一款模块化、高性能、企业级的Go基础开发框架。GoFrame不是一款WEB/RPC框架,而是一款通用性的基础开发框...
如果打印error变量,打印出error对应的堆栈而不是日志方法调用时的堆栈通过以下方法只会打印error的字符串描述信息,并且堆...
NewOption自定义配置的错误对象创建说明:用于自定义配置的错误对象创建。格式:NewOption(option Option) error示例:func Exam...
虽然gvalid已经内置了常见的数十种校验规则,但是在部分业务场景下我们需要自定义校验规则,特别是一些可以重复使用的业务相...
基本类型转换性能基准测试:john@john-B85M:~/Workspace/Go/GOPATH/src/github.com/gogf/gf/v2/util/gconv$ go test *.go -bench...
Context指的是标准库的context.Context,是一个接口对象,常用于异步IO控制以及上下文流程变量的传递。本文将要介绍...
基本介绍这个问题由于大家问得比较多,因此单独开了一个章节详细介绍一下ORM中的时区处理是怎么一回事。我们这里以MySQL...
gdb的数据记录结果(Value)支持非常灵活的类型转换,并内置支持常用的数十种数据类型的转换。Value类型是*gvar.V...