亚洲在线久爱草,狠狠天天香蕉网,天天搞日日干久草,伊人亚洲日本欧美

為了賬號安全,請及時綁定郵箱和手機立即綁定
已解決430363個問題,去搜搜看,總會有你想問的

Go Flag 用法說明 包含 Word 值

Go Flag 用法說明 包含 Word 值

Go
海綿寶寶撒 2022-11-28 14:52:27
我已經定義了一個自定義標志來接受這樣的字符串片段:type strSliceFlag []stringfunc (i *strSliceFlag) String() string {    return fmt.Sprint(*i)}func (i *strSliceFlag) Set(value string) error {    *i = append(*i, value)    return nil}然后我用    ...    var tags strSliceFlag    flag.Var(&tags, "t", tFlagExpl)    flag.Parse()    ...當我構建這個程序并使用 help flag: 運行它時main -h,它會打印出:Usage of main:  -t value        Test explanation我的問題是,這個詞value是從哪里來的?我找不到如何刪除它。我認為這可能與標志的默認值有關。
查看完整描述

1 回答

?
慕俠2389804

TA貢獻1719條經驗 獲得超6個贊

valueflag.UnquoteUsage為自定義類型(通過 呈現flag.(*FlagSet).PrintDefaults)選擇的默認參數名稱。

您可以在使用文本中使用反引號覆蓋默認值。反引號從使用文本中刪除。例如:

package main


import (

    "flag"

    "fmt"

)


type stringSlice []string


func (s *stringSlice) String() string {

    return fmt.Sprint(*s)

}


func (s *stringSlice) Set(v string) error {

    *s = append(*s, v)

    return nil

}


func main() {

    var s stringSlice

    flag.Var(&s, "foo", "append a foo to the list")

    flag.Var(&s, "foo2", "append a `foo` to the list")

    flag.Parse()

}

運行 with-h顯示參數名稱如何變化:


Usage of ./flagusage:

  -foo value

        append a foo to the list

  -foo2 foo

        append a foo to the list


查看完整回答
反對 回復 2022-11-28
  • 1 回答
  • 0 關注
  • 107 瀏覽
慕課專欄
更多

添加回答

舉報

0/150
提交
取消
微信客服

購課補貼
聯系客服咨詢優惠詳情

幫助反饋 APP下載

慕課網APP
您的移動學習伙伴

公眾號

掃描二維碼
關注慕課網微信公眾號