goctl
安装
GO111MODULE=on go get -u github.com/zeromicro/go-zero/tools/goctl@latest
# go版本1.16及以后
go install github.com/zeromicro/go-zero/tools/goctl@latest常用命令示例
这个命令用于创建一个新的 API 项目。
示例:
goctl api new user这个命令会创建一个新的名为 user 的 API 项目,包含默认的目录结构和文件。
输出:
user.api文件,用于定义 API 接口。默认的服务结构和配置。
2. goctl api go -api <api-file> -dir <output-dir>
goctl api go -api <api-file> -dir <output-dir>这个命令根据 .api 文件生成 Go 代码。
示例:
goctl api go -api user.api -dir ./user_service这个命令会根据 user.api 文件,生成对应的 Go 代码,并将其存储在 ./user_service 目录中。
输出:
生成的 Go 文件。
自动创建服务的基础结构,如 handler, logic, svc 等。
3. goctl rpc new <service-name>
goctl rpc new <service-name>这个命令用于创建一个新的 RPC 服务。
示例:
goctl rpc new user此命令会创建一个新的 RPC 服务,名为 user,并生成相应的文件结构。
输出:
默认的 RPC 项目文件和目录结构。
4. goctl model gen <model-file>
goctl model gen <model-file>此命令用于根据数据库表结构生成模型代码。
示例:
goctl model gen --sql user.sql此命令会根据 user.sql 文件生成模型代码。文件中通常包含 SQL 表结构。
输出:
根据 SQL 文件生成的 Go 模型代码。
5. goctl template list
goctl template list此命令用于列出所有可用的模板。
示例:
goctl template list执行此命令后,会列出 Go-Zero 提供的所有模板选项。
6. goctl generate
goctl generate此命令会根据模板生成代码,通常需要配合其它命令一起使用。
示例:
goctl generate此命令会根据配置生成相应的代码。
7. goctl build
goctl build这个命令会编译 Go 项目,生成可执行文件。
示例:
goctl build -o user_service ./user_service该命令会编译 ./user_service 目录中的代码,并将可执行文件输出到 user_service。
8. goctl api check
goctl api check此命令用于检查 .api 文件的合法性。
示例:
goctl api check user.api此命令会检查 user.api 文件的语法和结构是否合法,帮助你发现潜在的问题。
9. goctl doc
goctl doc该命令用于生成 API 文档。
示例:
goctl doc user.api此命令会生成 user.api 文件的 API 文档,通常是以 Markdown 格式输出。
10. goctl version
goctl version该命令用于查看 goctl 的当前版本。
示例:
goctl version执行后会显示 goctl 的版本号。
1. goctl api dart
goctl api dart此命令用于根据 .api 文件生成 Dart 文件。
示例:
goctl api dart -api user.api -dir ./dart_user-api:指定输入的.api文件路径。-dir:指定 Dart 代码输出的目录。
这个命令会根据 user.api 文件生成 Dart 语言的代码,并将文件输出到 ./dart_user 目录。
2. goctl api doc
goctl api doc此命令用于根据 .api 文件生成文档文件。
示例:
goctl api doc -api user.api -dir ./docs
# 指定文件夹
goctl api doc -dir .-api:指定输入的.api文件路径。-dir:指定文档输出的目录。
此命令会生成 API 的文档,并将其保存到 ./docs 目录。
3. goctl api format
goctl api format此命令用于格式化 .api 文件,使其符合规范。
示例:
goctl api format -api user.api
# 格式化文件夹
goctl api format -dir .-api:指定需要格式化的.api文件路径。
此命令会格式化 user.api 文件,使其符合 Go-Zero 框架的 API 文件格式规范。
4. goctl api go
goctl api go此命令根据 .api 文件生成 Go 代码。
示例:
goctl api go -api user.api -dir ./user_service-api:指定输入的.api文件路径。-dir:指定 Go 代码输出的目录。
此命令会根据 user.api 文件生成 Go 语言的代码,并将文件输出到 ./user_service 目录。
5. goctl api kt
goctl api kt此命令根据 .api 文件生成 Kotlin 代码。
示例:
goctl api kt -api user.api -dir ./kotlin_user-api:指定输入的.api文件路径。-dir:指定 Kotlin 代码输出的目录。
此命令会根据 user.api 文件生成 Kotlin 代码,并将其输出到 ./kotlin_user 目录。
6. goctl api new
goctl api new此命令用于快速创建 API 服务。
示例:
goctl api new user此命令会创建一个新的名为 user 的 API 服务,包含默认的文件结构和文件。
7. goctl api plugin
goctl api plugin此命令用于根据自定义插件生成文件。
示例:
goctl api plugin -api user.api -dir ./custom_plugin-api:指定输入的.api文件路径。-dir:指定插件输出的目录。
此命令会根据 user.api 文件使用自定义插件生成文件,并将其输出到 ./custom_plugin 目录。
8. goctl api ts
goctl api ts此命令根据 .api 文件生成 TypeScript 代码。
示例:
goctl api ts -api user.api -dir ./ts_user-api:指定输入的.api文件路径。-dir:指定 TypeScript 代码输出的目录。
此命令会根据 user.api 文件生成 TypeScript 代码,并将其输出到 ./ts_user 目录。
9. goctl api validate
goctl api validate此命令用于验证 .api 文件是否符合规范。
示例:
goctl api validate -api user.api-api:指定需要验证的.api文件路径。
此命令会验证 user.api 文件的结构是否正确,并返回相关的验证信息。
常用标志 (Flags)
这些标志可以在执行 goctl api 命令时与其他命令一起使用。
--branch string:指定远程模板的分支,默认使用master分支。通常与--remote一起使用。示例:
goctl api --remote https://github.com/zeromicro/go-zero-template --branch dev new user--home string:指定本地的 Go-Zero 模板路径。不能与--remote一起使用。示例:
goctl api --home /path/to/your/template new user--o string:输出一个样本的.api文件。示例:
goctl api --o user_sample.api new user--remote string:指定远程 Git 仓库的模板路径,优先于--home。示例:
goctl api --remote https://github.com/zeromicro/go-zero-template new user
最后更新于