golang - 获取启动参数【os.Args】并转键值对 -解决

完整的封装函数

func doParams() {
    //
    k := ""
    //
    v := ""
    //键值对
    kv := make(map[string]string, 0)
    for _, val := range os.Args[1:] {
        if strings.HasPrefix(val, "-") {
            //为键
            k = val
            //清空值,防止先有值后有键的场景
            v = ""
        } else {
            //为值
            v = val
        }
        if StringUtil.IsNotEmpty(k) && StringUtil.IsNotEmpty(v) {
            //匹配成对
            kv[k] = v
            //清空
            k = ""
            v = ""
        }
    }
    ParamsObj.Env = StringUtil.GetValFromMap(kv, "-env")

    kk, _ := jsonUtil.ToJson(ParamsObj)
    println("解析出的启动参数:")
    println(kk)
}

 

posted @ 2024-05-14 15:58  岑惜  阅读(278)  评论(0)    收藏  举报