# 获取命令行参数
如果有需要获取命令行参数的需求,此工具会比较适合你。
## 系统内置命令行参数
当前框架内置了2个命令行参数 `--config=config.toml` `--port=8088`
分别可以用来定义配置文件路径和配置服务启动端口;
config 参数用来指定配置路径,如果没有指定则回加载系统默认配置;
port 参数用来配置服务端口,在配置文件中也有一个服务端口配置项;
它们之间的优先级是 命令行参数 > 用户配置文件 > 系统默认配置,在使用是要么只在一个位置定义端口,要么需要注意它们的优先级。
## 命令自定义行参数注册
使用命令行参数需要先将对应的命令名称注册,注册操作需要在 应用启动之前(`app.AppStart`),建议在入口文件中处理 `main.go`
如下:
```
package main
import (
"gitee.com/zhucheer/orange/app"
"gitee.com/zhucheer/orange/cfg"
...
)
func main() {
// 注册一个命令行参数
cfg.SetIntFlag("wakeup", 1, "help text")
router := &http.Route{}
app.AppStart(router)
}
```
注册方法
- ` cfg.SetIntFlag("cmdName", 1, "help text")` 注册一个数字类型的参数,参数名 `cmdName` 默认值1 帮助信息`help text`
- `cfg.SetStringFlag("show", "tv", "help text")` 注册一个字符类型的参数
获取方法
- `cfg.GetIntFlag("cmdName")` 获取一个数字类型的命令行参数
- `cfg.GetStringFlag("show")` 获取一个字符类型的命令行参数