<ruby id="bdb3f"></ruby>

    <p id="bdb3f"><cite id="bdb3f"></cite></p>

      <p id="bdb3f"><cite id="bdb3f"><th id="bdb3f"></th></cite></p><p id="bdb3f"></p>
        <p id="bdb3f"><cite id="bdb3f"></cite></p>

          <pre id="bdb3f"></pre>
          <pre id="bdb3f"><del id="bdb3f"><thead id="bdb3f"></thead></del></pre>

          <ruby id="bdb3f"><mark id="bdb3f"></mark></ruby><ruby id="bdb3f"></ruby>
          <pre id="bdb3f"><pre id="bdb3f"><mark id="bdb3f"></mark></pre></pre><output id="bdb3f"></output><p id="bdb3f"></p><p id="bdb3f"></p>

          <pre id="bdb3f"><del id="bdb3f"><progress id="bdb3f"></progress></del></pre>

                <ruby id="bdb3f"></ruby>

                ??一站式輕松地調用各大LLM模型接口,支持GPT4、智譜、豆包、星火、月之暗面及文生圖、文生視頻 廣告
                # Go 命令行參數標記 命令行參數標記是為命令行程序指定選項參數的常用方法。例如,在命令`wc -l`中,`-l`就是一個命令行參數標記。 Go提供了`flag`包來支持基本的命令行標記解析。我們這里將要使用這個包提供的方法來實現帶選項的命令行程序。 ```go package main import "flag" import "fmt" func main() { // 基礎的標記聲明適用于string,integer和bool型選項。 // 這里我們定義了一個標記`word`,默認值為`foo`和一 // 個簡短的描述。`flag.String`函數返回一個字符串指 // 針(而不是一個字符串值),我們下面將演示如何使 // 用這個指針 wordPtr := flag.String("word", "foo", "a string") // 這里定義了兩個標記,一個`numb`,另一個是`fork`, // 使用和上面定義`word`標記相似的方法 numbPtr := flag.Int("numb", 42, "an int") boolPtr := flag.Bool("fork", false, "a bool") // 你也可以程序中任意地方定義的變量來定義選項,只 // 需要把該變量的地址傳遞給flag聲明函數即可 var svar string flag.StringVar(&svar, "svar", "bar", "a string var") // 當所有的flag聲明完成后,使用`flag.Parse()`來分 // 解命令行選項 flag.Parse() // 這里我們僅僅輸出解析后的選項和任何緊跟著的位置 // 參數,注意我們需要使用`*wordPtr`的方式來獲取最 // 后的選項值 fmt.Println("word:", *wordPtr) fmt.Println("numb:", *numbPtr) fmt.Println("fork:", *boolPtr) fmt.Println("svar:", svar) fmt.Println("tail:", flag.Args()) } ``` 為了運行示例,你需要先將程序編譯為可執行文件。 ``` go build command-line-flags.go ``` 下面分別看看給予該命令行程序不同選項參數的例子: (1) 給所有的選項設置一個參數 ``` $ ./command-line-flags -word=opt -numb=7 -fork -svar=flag word: opt numb: 7 fork: true svar: flag tail: [] ``` (2) 如果你不設置flag,那么它們自動采用默認的值 ``` $ ./command-line-flags -word=opt word: opt numb: 42 fork: false svar: bar tail: [] ``` (3) 尾部的位置參數可以出現在任意一個flag后面 ``` $ ./command-line-flags -word=opt a1 a2 a3 word: opt numb: 42 fork: false svar: bar tail: [a1 a2 a3] ``` (4) 注意flag包要求所有的flag都必須出現在尾部位置參數的前面,否則這些flag將被當作位置參數處理 ``` $ ./command-line-flags -word=opt a1 a2 a3 -numb=7 word: opt numb: 42 fork: false svar: bar trailing: [a1 a2 a3 -numb=7] ``` (5) 使用`-h`或者`--help`這兩個flag來自動地生成命令行程序的幫助信息 ``` $ ./command-line-flags -h Usage of ./command-line-flags: -fork=false: a bool -numb=42: an int -svar="bar": a string var -word="foo": a string ``` (6) 如果你提供了一個程序不支持的flag,那么程序會打印一個錯誤信息和幫助信息 ``` $ ./command-line-flags -wat flag provided but not defined: -wat Usage of ./go_cmd_flag: -fork=false: a bool -numb=42: an int -svar="bar": a string var -word="foo": a string ```
                  <ruby id="bdb3f"></ruby>

                  <p id="bdb3f"><cite id="bdb3f"></cite></p>

                    <p id="bdb3f"><cite id="bdb3f"><th id="bdb3f"></th></cite></p><p id="bdb3f"></p>
                      <p id="bdb3f"><cite id="bdb3f"></cite></p>

                        <pre id="bdb3f"></pre>
                        <pre id="bdb3f"><del id="bdb3f"><thead id="bdb3f"></thead></del></pre>

                        <ruby id="bdb3f"><mark id="bdb3f"></mark></ruby><ruby id="bdb3f"></ruby>
                        <pre id="bdb3f"><pre id="bdb3f"><mark id="bdb3f"></mark></pre></pre><output id="bdb3f"></output><p id="bdb3f"></p><p id="bdb3f"></p>

                        <pre id="bdb3f"><del id="bdb3f"><progress id="bdb3f"></progress></del></pre>

                              <ruby id="bdb3f"></ruby>

                              哎呀哎呀视频在线观看