[TOC] > [参考](https://goframe.org/toolchain/cli) ## 概述 ## 安装 ### Linux `wget https://goframe.org/cli/linux_amd64/gf && chmod +x gf && sudo ./gf `install ### Mac `wget https://goframe.org/cli/darwin_amd64/gf && chmod +x gf && ./gf install` ### Windows 下载 `https://goframe.org/cli/windows_amd64/gf.exe` ## 语法 ``` gf tool chain install 工具安装 version 工具版本查看 init 项目初始化 build 交叉编译 gen 代码生成命令 run 热编译(自动编译) get 依赖包下载 docker 镜像编译 update 工具更新 pack 二进制打包 help 命令行帮助 ``` ### `gf init `初始化项目 `gf init gf-demo` ### `gf build` 交叉编译 语法: `gf build FILE [OPTION]` eg: `gf build main.go` 默认读取`config.toml` ``` [compiler] name = "my-app" #应用名 version = "1.0.0" arch = "386,amd64" system = "linux,windows,darwin" # 选择编译平台 output = "" path = "./bin/" # 导出目录 extra = "-ldflags \"-s -w\"" # 自定义编译时内置变量 [compiler.VarMap] author = "john" email = "john@goframe.org" ``` <details> <summary>项目导出到 ./bin/ /summary> ``` bin └── 1.0.0 ├── windows_amd64 │ └── my-app.exe ├── windows_386 │ └── my-app.exe ├── linux_amd64 │ └── my-app ├── linux_386 │ └── my-app ├── darwin_amd64 │ └── my-app └── darwin_386 └── my-app ``` </details> <br /> ### `gf gen` 代码生成命令 注意配置 `config.toml` 的数据库 语法:`gf gen model [PATH] [OPTION]` 例子 : `gf gen model ./app/model_demo` 不添加 path 则默认为 `./app/model` 每个表一个目录,目录下生成三个文件 1. `数据表名.go` 自定义文件,开发者可以自由定义填充的代码文件,仅会生成一次,每一次模型生成不会覆盖。 2. `数据表名_entity.go` 表结构文件,根据数据表结构生成的结构体定义文件,包含字段注释。数据表在外部变更后,可使用gen命令重复生成更新该文件。 3. `数据表名_model.go` 表模型文件,为数据表提供了许多便捷的CURD操作方法,并可直接查询返回该表的结构体对象。数据表在外部变更后,可使用gen命令重复生成更新该文件。 > 数据表模型生成支持的数据库类型为:`MySQL/MariaDB`、`PostgreSQL`、`SQLite`、`SQLServer`。目前暂不支持`Oracle` ### `run`热编译(自动编译) 使用方式:`gf get PACKAGE` `gf get`命令和`go get`命令类似,内部自动提供了代理设置功能,并智能识别并设置最快的下载代理地址 ## `update`工具更新 使用方式:`gf update` 该命令用以检测`gf`命令行工具的版本,并自动执行版本更新。 > 部分系统需要管理员权限支持。如果更新失败,请手动重新下载更新