zoukankan      html  css  js  c++  java
  • [Go] flag package 指南: 命令行参数标记的解析

    flag 是 Golang 的官方包。

    支持用法有三种,不同之处是二三两种用法是 Var() 函数可以绑定 flag 到一个变量上。

    直接调用指定类型的函数有多种,如 flag.String(), Bool(), Int() 等等。

    import "flag"
    var nFlag = flag.Int("n", 1234, "help message for flag n")
    var flagvar int
    func init() {
        flag.IntVar(&flagvar, "flagname", 1234, "help message for flagname")
    }
    flag.Var(&flagVal, "name", "help message for flagname")

    定义了 flag 之后,调用 flag.Parse() 解析命令行到定义的flag中。

    随后它们可以直接使用,直接使用时,它们都是指针类型。如果绑定到变量,它们是值。

    fmt.Println("ip has value ", *ip)
    fmt.Println("flagvar has value ", flagvar)

    同样,Parse之后,flag.Args() 或者 flag.Arg(i) 也都可用。参数索引从 0 ~ flag.NArg()-1

    命令行的三种语法:

      -flag

      -flag=x

      -flag x

      最后一种只针对 非bool型的 flag 值。

    原版详细的注释建议在 IDE 中直接跳转到 flag.go 查看源码上方内容。

    Refer:golang flag package

    Link:https://www.cnblogs.com/farwish/p/15664459.html

  • 相关阅读:
    性能优化
    几种跨域处理
    重温前端基础之-数组去重
    移动端常遇到的问题
    WPF 应用
    WPF 应用
    WPF 应用
    C# 应用
    WPF 应用
    C# 应用
  • 原文地址:https://www.cnblogs.com/farwish/p/15664459.html
Copyright © 2011-2022 走看看