# 獲取命令行參數
如果有需要獲取命令行參數的需求,此工具會比較適合你。
## 系統內置命令行參數
當前框架內置了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")` 獲取一個字符類型的命令行參數