亚洲国产日韩欧美一区二区三区,精品亚洲国产成人av在线,国产99视频精品免视看7,99国产精品久久久久久久成人热,欧美日韩亚洲国产综合乱

directory search
archive archive/tar archive/zip bufio bufio(緩存) builtin builtin(內(nèi)置包) bytes bytes(包字節(jié)) compress compress/bzip2(壓縮/bzip2) compress/flate(壓縮/flate) compress/gzip(壓縮/gzip) compress/lzw(壓縮/lzw) compress/zlib(壓縮/zlib) container container/heap(容器數(shù)據(jù)結(jié)構(gòu)heap) container/list(容器數(shù)據(jù)結(jié)構(gòu)list) container/ring(容器數(shù)據(jù)結(jié)構(gòu)ring) context context(上下文) crypto crypto(加密) crypto/aes(加密/aes) crypto/cipher(加密/cipher) crypto/des(加密/des) crypto/dsa(加密/dsa) crypto/ecdsa(加密/ecdsa) crypto/elliptic(加密/elliptic) crypto/hmac(加密/hmac) crypto/md5(加密/md5) crypto/rand(加密/rand) crypto/rc4(加密/rc4) crypto/rsa(加密/rsa) crypto/sha1(加密/sha1) crypto/sha256(加密/sha256) crypto/sha512(加密/sha512) crypto/subtle(加密/subtle) crypto/tls(加密/tls) crypto/x509(加密/x509) crypto/x509/pkix(加密/x509/pkix) database database/sql(數(shù)據(jù)庫(kù)/sql) database/sql/driver(數(shù)據(jù)庫(kù)/sql/driver) debug debug/dwarf(調(diào)試/dwarf) debug/elf(調(diào)試/elf) debug/gosym(調(diào)試/gosym) debug/macho(調(diào)試/macho) debug/pe(調(diào)試/pe) debug/plan9obj(調(diào)試/plan9obj) encoding encoding(編碼) encoding/ascii85(編碼/ascii85) encoding/asn1(編碼/asn1) encoding/base32(編碼/base32) encoding/base64(編碼/base64) encoding/binary(編碼/binary) encoding/csv(編碼/csv) encoding/gob(編碼/gob) encoding/hex(編碼/hex) encoding/json(編碼/json) encoding/pem(編碼/pem) encoding/xml(編碼/xml) errors errors(錯(cuò)誤) expvar expvar flag flag(命令行參數(shù)解析flag包) fmt fmt go go/ast(抽象語(yǔ)法樹) go/build go/constant(常量) go/doc(文檔) go/format(格式) go/importer go/parser go/printer go/scanner(掃描儀) go/token(令牌) go/types(類型) hash hash(散列) hash/adler32 hash/crc32 hash/crc64 hash/fnv html html html/template(模板) image image(圖像) image/color(顏色) image/color/palette(調(diào)色板) image/draw(繪圖) image/gif image/jpeg image/png index index/suffixarray io io io/ioutil log log log/syslog(日志系統(tǒng)) math math math/big math/big math/bits math/bits math/cmplx math/cmplx math/rand math/rand mime mime mime/multipart(多部分) mime/quotedprintable net net net/http net/http net/http/cgi net/http/cookiejar net/http/fcgi net/http/httptest net/http/httptrace net/http/httputil net/http/internal net/http/pprof net/mail net/mail net/rpc net/rpc net/rpc/jsonrpc net/smtp net/smtp net/textproto net/textproto net/url net/url os os os/exec os/signal os/user path path path/filepath(文件路徑) plugin plugin(插件) reflect reflect(反射) regexp regexp(正則表達(dá)式) regexp/syntax runtime runtime(運(yùn)行時(shí)) runtime/debug(調(diào)試) runtime/internal/sys runtime/pprof runtime/race(競(jìng)爭(zhēng)) runtime/trace(執(zhí)行追蹤器) sort sort(排序算法) strconv strconv(轉(zhuǎn)換) strings strings(字符串) sync sync(同步) sync/atomic(原子操作) syscall syscall(系統(tǒng)調(diào)用) testing testing(測(cè)試) testing/iotest testing/quick text text/scanner(掃描文本) text/tabwriter text/template(定義模板) text/template/parse time time(時(shí)間戳) unicode unicode unicode/utf16 unicode/utf8 unsafe unsafe
characters

  • import "flag"

  • 概述

  • 索引

  • 例子

概述

Flag 包實(shí)現(xiàn)了命令行標(biāo)志解析。

用法:

使用 flag.String(),Bool(),Int() 等定義標(biāo)志。

這聲明了一個(gè)整型 flag,-flagname,都存儲(chǔ)在指針 ip 中,類型為 *int 。

import "flag"var ip = flag.Int("flagname", 1234, "help message for flagname")

如果你喜歡,你可以使用 Var() 函數(shù)將標(biāo)志綁定到一個(gè)變量。

var flagvar int
func init() {
	flag.IntVar(&flagvar, "flagname", 1234, "help message for flagname")}

或者,您可以創(chuàng)建滿足 Value 接口(使用指針接收器)的自定義標(biāo)志,并將它們耦合以標(biāo)記解析

flag.Var(&flagVal, "name", "help message for flagname")

對(duì)于這樣的標(biāo)志,默認(rèn)值只是變量的初始值。

所有標(biāo)志定義后,調(diào)用

flag.Parse()

來(lái)將命令行解析為定義的標(biāo)志。

標(biāo)志可以直接使用。如果你自己使用標(biāo)志,它們都是指針; 如果你綁定到變量,它們就是值。

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

解析后,標(biāo)志后面的參數(shù)可用作切片 flag.Args() 或單獨(dú)作為 flag.Arg(i)。參數(shù)從 0 到 flag.NArg()- 1 索引。

命令行標(biāo)志語(yǔ)法:

-flag-flag=x-flag x  // 僅限非布爾標(biāo)志

可以使用一個(gè)或兩個(gè)減號(hào);它們是等價(jià)的。由于命令的含義,最后一種形式不允許用于布爾標(biāo)志

cmd -x *

如果有一個(gè)名為 0,false 等的文件,它將會(huì)改變。你必須使用 -flag = false 來(lái)關(guān)閉布爾標(biāo)志。

標(biāo)志解析在第一個(gè)非標(biāo)志參數(shù)(“ - ”是非標(biāo)志參數(shù))之前停止,或者在終止符“ - ”之后停止。

整數(shù)標(biāo)志接受 1234,0664,0x1234 并且可能是負(fù)數(shù)。布爾標(biāo)志可能是:

1, 0, t, f, T, F, true, false, TRUE, FALSE, True, False

持續(xù)時(shí)間標(biāo)志接受對(duì) time.ParseDuration 有效的任何輸入。

默認(rèn)的一組命令行標(biāo)志由頂層函數(shù)控制。FlagSet 類型允許您定義獨(dú)立的標(biāo)志集,例如在命令行界面中實(shí)現(xiàn)子命令。FlagSet 的方法類似于命令行標(biāo)志集的頂層函數(shù)。

// 這些示例演示了對(duì)標(biāo)志包的更復(fù)雜的使用。package mainimport ("errors""flag""fmt""strings""time")// 示例1:名為“species”的單個(gè)字符串標(biāo)志,默認(rèn)值為“gopher”。var species = flag.String("species", "gopher", "the species we are studying")// 示例2:共享變量的兩個(gè)標(biāo)志,因此我們可以使用速記。// 初始化的順序是未定義的,因此請(qǐng)確保兩者都使用// 相同的默認(rèn)值。 必須使用init函數(shù)設(shè)置它們。var gopherType string

func init() {const (
		defaultGopher = "pocket"
		usage         = "the variety of gopher")
	flag.StringVar(&gopherType, "gopher_type", defaultGopher, usage)
	flag.StringVar(&gopherType, "g", defaultGopher, usage+" (shorthand)")}// 示例3:用戶定義的標(biāo)志類型,持續(xù)時(shí)間片。type interval []time.Duration// String是格式化標(biāo)志值的方法,是flag.Value接口的一部分。// String方法的輸出將用于診斷。func (i *interval) String() string {return fmt.Sprint(*i)}// Set是設(shè)置標(biāo)志值的方法,flag.Value接口的一部分。// Set的參數(shù)是要解析以設(shè)置標(biāo)志的字符串。// 這是一個(gè)以逗號(hào)分隔的列表,因此我們將其拆分。func (i *interval) Set(value string) error {// 如果我們想允許多次設(shè)置標(biāo)志,// 累積值,我們將刪除此if語(yǔ)句。// 這將允許諸如此類的用法//	-deltaT 10s -deltaT 15s// 和其他組合。if len(*i) > 0 {return errors.New("interval flag already set")}for _, dt := range strings.Split(value, ",") {
		duration, err := time.ParseDuration(dt)if err != nil {return err}*i = append(*i, duration)}return nil}// 定義一個(gè)標(biāo)志來(lái)累積持續(xù)時(shí)間。 因?yàn)樗刑厥獾念愋停?/ 我們需要使用Var函數(shù),因此在期間創(chuàng)建標(biāo)志// init。var intervalFlag interval

func init() {// 將命令行標(biāo)志綁定到intervalFlag變量和// 設(shè)置用法消息。
	flag.Var(&intervalFlag, "deltaT", "comma-separated list of intervals to use between events")}func main() {// 所有有趣的部分都是上面聲明的變量,但是// 要使標(biāo)志包能夠看到那里定義的標(biāo)志,就必須這樣做// 執(zhí)行,通常在main(不是init!)的開頭執(zhí)行://	flag.Parse()// 我們不在這里運(yùn)行它,因?yàn)檫@不是主要功能//測(cè)試套件已經(jīng)解析了標(biāo)志。}

索引

  • Variables

  • func Arg(i int) string

  • func Args() []string

  • func Bool(name string, value bool, usage string) *bool

  • func BoolVar(p *bool, name string, value bool, usage string)

  • func Duration(name string, value time.Duration, usage string) *time.Duration

  • func DurationVar(p *time.Duration, name string, value time.Duration, usage string)

  • func Float64(name string, value float64, usage string) *float64

  • func Float64Var(p *float64, name string, value float64, usage string)

  • func Int(name string, value int, usage string) *int

  • func Int64(name string, value int64, usage string) *int64

  • func Int64Var(p *int64, name string, value int64, usage string)

  • func IntVar(p *int, name string, value int, usage string)

  • func NArg() int

  • func NFlag() int

  • func Parse()

  • func Parsed() bool

  • func PrintDefaults()

  • func Set(name, value string) error

  • func String(name string, value string, usage string) *string

  • func StringVar(p *string, name string, value string, usage string)

  • func Uint(name string, value uint, usage string) *uint

  • func Uint64(name string, value uint64, usage string) *uint64

  • func Uint64Var(p *uint64, name string, value uint64, usage string)

  • func UintVar(p *uint, name string, value uint, usage string)

  • func UnquoteUsage(flag *Flag) (name string, usage string)

  • func Var(value Value, name string, usage string)

  • func Visit(fn func(*Flag))

  • func VisitAll(fn func(*Flag))

  • type ErrorHandling

  • 類型標(biāo)志

  • func Lookup(name string) *Flag

  • type FlagSet

  • func NewFlagSet(name string, errorHandling ErrorHandling) *FlagSet

  • func (f *FlagSet) Arg(i int) string

  • func (f *FlagSet) Args() []string

  • func (f *FlagSet) Bool(name string, value bool, usage string) *bool

  • func (f *FlagSet) BoolVar(p *bool, name string, value bool, usage string)

  • func (f *FlagSet) Duration(name string, value time.Duration, usage string) *time.Duration

  • func (f *FlagSet) DurationVar(p *time.Duration, name string, value time.Duration, usage string)

  • func (f *FlagSet) Float64(name string, value float64, usage string) *float64

  • func (f *FlagSet) Float64Var(p *float64, name string, value float64, usage string)

  • func (f *FlagSet) Init(name string, errorHandling ErrorHandling)

  • func (f *FlagSet) Int(name string, value int, usage string) *int

  • func (f *FlagSet) Int64(name string, value int64, usage string) *int64

  • func (f *FlagSet) Int64Var(p *int64, name string, value int64, usage string)

  • func (f *FlagSet) IntVar(p *int, name string, value int, usage string)

  • func (f *FlagSet) Lookup(name string) *Flag

  • func (f *FlagSet) NArg() int

  • func (f *FlagSet) NFlag() int

  • func (f *FlagSet) Parse(arguments []string) error

  • func (f *FlagSet) Parsed() bool

  • func (f *FlagSet) PrintDefaults()

  • func (f *FlagSet) Set(name, value string) error

  • func (f *FlagSet) SetOutput(output io.Writer)

  • func (f *FlagSet) String(name string, value string, usage string) *string

  • func (f *FlagSet) StringVar(p *string, name string, value string, usage string)

  • func (f *FlagSet) Uint(name string, value uint, usage string) *uint

  • func (f *FlagSet) Uint64(name string, value uint64, usage string) *uint64

  • func (f *FlagSet) Uint64Var(p *uint64, name string, value uint64, usage string)

  • func (f *FlagSet) UintVar(p *uint, name string, value uint, usage string)

  • func (f *FlagSet) Var(value Value, name string, usage string)

  • func (f *FlagSet) Visit(fn func(*Flag))

  • func (f *FlagSet) VisitAll(fn func(*Flag))

  • type Getter

  • type Value

例子

包文件

flag.go

變量

CommandLine 是從 os.Args 解析的默認(rèn)命令行標(biāo)志集。頂級(jí)函數(shù)(如 BoolVar,Arg 等)是 CommandLine方法的包裝器。

var CommandLine = NewFlagSet(os.Args[0], ExitOnError)

如果調(diào)用了 -help 或 -h 標(biāo)志但沒有定義這樣的標(biāo)志,ErrHelp 是返回的錯(cuò)誤。

var ErrHelp = errors.New("flag: help requested")

用法向標(biāo)準(zhǔn)錯(cuò)誤輸出記錄所有定義的命令行標(biāo)志的用法消息。它在解析標(biāo)志時(shí)發(fā)生錯(cuò)誤時(shí)被調(diào)用。該函數(shù)是一個(gè)可以更改為指向自定義函數(shù)的變量。默認(rèn)情況下,它打印一個(gè)簡(jiǎn)單的標(biāo)題并調(diào)用 PrintDefaults ; 有關(guān)輸出格式以及如何控制它的詳細(xì)信息,請(qǐng)參閱 PrintDefaults 的文檔。

var Usage = func() {
        fmt.Fprintf(os.Stderr, "Usage of %s:\n", os.Args[0])        PrintDefaults()}

func Arg

func Arg(i int) string

Arg 返回第 i 個(gè)命令行參數(shù)。Arg(0)是標(biāo)志處理后的第一個(gè)剩余參數(shù)。如果請(qǐng)求的元素不存在,則 Arg 返回一個(gè)空字符串。

func Args

func Args() []string

Args 返回非標(biāo)志命令行參數(shù)。

func Bool

func Bool(name string, value bool, usage string) *bool

Bool 定義了一個(gè)具有指定名稱,默認(rèn)值和用法字符串的布爾標(biāo)志。返回值是存儲(chǔ)標(biāo)志值的 bool 變量的地址。

func BoolVar

func BoolVar(p *bool, name string, value bool, usage string)

BoolVar 定義了一個(gè)具有指定名稱,默認(rèn)值和用法字符串的布爾標(biāo)志。參數(shù) p 指向一個(gè)存儲(chǔ)標(biāo)志值的 bool 變量。

func Duration

func Duration(name string, value time.Duration, usage string) *time.Duration

持續(xù)時(shí)間定義了一個(gè)帶指定名稱,缺省值和用法字符串的 time.Duration 標(biāo)志。返回值是存儲(chǔ)標(biāo)志值的 time.Duration 變量的地址。該標(biāo)志接受 time.ParseDuration 可接受的值。

func DurationVar

func DurationVar(p *time.Duration, name string, value time.Duration, usage string)

DurationVar 定義了一個(gè)具有指定名稱,缺省值和用法字符串的 time.Duration 標(biāo)志。參數(shù) p 指向一個(gè)用于存儲(chǔ)標(biāo)志值的 time.Duration 變量。該標(biāo)志接受 time.ParseDuration 可接受的值。

func Float64

func Float64(name string, value float64, usage string) *float64

Float64 定義了一個(gè)帶有指定名稱,缺省值和用法字符串的 float64 標(biāo)志。返回值是存儲(chǔ)標(biāo)志值的 float64 變量的地址。

func Float64Var

func Float64Var(p *float64, name string, value float64, usage string)

Float64Var 定義了一個(gè)帶有指定名稱,缺省值和用法字符串的 float64 標(biāo)志。參數(shù) p 指向一個(gè) float64 變量,用于存儲(chǔ)標(biāo)志的值。

func Int

func Int(name string, value int, usage string) *int

Int 定義了一個(gè)具有指定名稱,默認(rèn)值和用法字符串的 int 標(biāo)志。返回值是存儲(chǔ)標(biāo)志值的 int 變量的地址。

func Int64

func Int64(name string, value int64, usage string) *int64

Int64 定義了一個(gè)具有指定名稱,缺省值和用法字符串的 int64 標(biāo)志。返回值是存儲(chǔ)標(biāo)志值的 int64 變量的地址。

func Int64Var

func Int64Var(p *int64, name string, value int64, usage string)

Int64Var 定義了一個(gè)帶有指定名稱,默認(rèn)值和用法字符串的 int64 標(biāo)志。參數(shù) p 指向一個(gè) int64 變量,用于存儲(chǔ)標(biāo)志的值。

func IntVar

func IntVar(p *int, name string, value int, usage string)

IntVar 定義了一個(gè)具有指定名稱,默認(rèn)值和用法字符串的 int 標(biāo)志。參數(shù) p 指向一個(gè) int 變量,用于存儲(chǔ)標(biāo)志的值。

func NArg

func NArg() int

NArg 是標(biāo)志處理后剩余的參數(shù)數(shù)量。

func NFlag

func NFlag() int

NFlag 返回已設(shè)置的命令行標(biāo)志的數(shù)量。

func Parse

func Parse()

解析解析 os.Args1:中的命令行標(biāo)志。必須在定義了所有標(biāo)志之后并且在程序訪問標(biāo)志之前調(diào)用。

func Parsed

func Parsed() bool

Parsed 報(bào)告命令行標(biāo)志是否已被解析。

func PrintDefaults

func PrintDefaults()

除非另行配置,否則 PrintDefaults 會(huì)打印標(biāo)準(zhǔn)錯(cuò)誤,顯示所有已定義的命令行標(biāo)志的默認(rèn)設(shè)置。對(duì)于整數(shù)值標(biāo)志 x,默認(rèn)輸出具有該形式

-x int
	usage-message-for-x (default 7)

除了帶有單字節(jié)名稱的布爾標(biāo)志之外,用法消息將顯示在單獨(dú)的行上。對(duì)于 bool 標(biāo)志,類型被省略,并且如果標(biāo)志名稱是一個(gè)字節(jié),則使用消息出現(xiàn)在同一行上。如果默認(rèn)值是類型的零值,則省略括號(hào)默認(rèn)值。列出的類型(這里是 int)可以通過(guò)在標(biāo)志的使用字符串中放置一個(gè)反引號(hào)的名稱來(lái)更改; 消息中的第一個(gè)這樣的項(xiàng)目被視為在消息中顯示的參數(shù)名稱,并且在顯示時(shí)從消息中除去后面的引號(hào)。例如,給出

flag.String("I", "", "search `directory` for include files")

輸出將是

-I directory
	search directory for include files.

func Set

func Set(name, value string) error

Set 設(shè)置命名的命令行標(biāo)志的值。

func String

func String(name string, value string, usage string) *string

字符串定義了一個(gè)具有指定名稱,缺省值和用法字符串的字符串標(biāo)志。返回值是存儲(chǔ)標(biāo)志值的字符串變量的地址。

func StringVar

func StringVar(p *string, name string, value string, usage string)

StringVar 定義了一個(gè)具有指定名稱,默認(rèn)值和用法字符串的字符串標(biāo)志。參數(shù) p 指向一個(gè)字符串變量,用于存儲(chǔ)標(biāo)志的值。

func Uint

func Uint(name string, value uint, usage string) *uint

Uint 定義一個(gè)具有指定名稱,默認(rèn)值和用法字符串的 uint 標(biāo)志。返回值是存儲(chǔ)標(biāo)志值的 uint 變量的地址。

func Uint64

func Uint64(name string, value uint64, usage string) *uint64

Uint64 定義了一個(gè)具有指定名稱,默認(rèn)值和用法字符串的 uint64 標(biāo)志。返回值是存儲(chǔ)標(biāo)志值的 uint64 變量的地址。

func Uint64Var

func Uint64Var(p *uint64, name string, value uint64, usage string)

Uint64Var 定義了一個(gè)具有指定名稱,默認(rèn)值和用法字符串的 uint64 標(biāo)志。參數(shù) p 指向一個(gè) uint64 變量,用于存儲(chǔ)標(biāo)志的值。

func UintVar

func UintVar(p *uint, name string, value uint, usage string)

UintVar 定義了一個(gè)具有指定名稱,默認(rèn)值和用法字符串的 uint 標(biāo)志。參數(shù) p 指向一個(gè)存儲(chǔ)標(biāo)志值的 uint 變量。

func UnquoteUsage

func UnquoteUsage(flag *Flag) (name string, usage string)

UnquoteUsage 從標(biāo)志的用法字符串中提取一個(gè)反引號(hào)的名稱,并返回它和未加引號(hào)的用法。給定“ name顯示”它返回(“名稱”,“顯示的名稱”)。如果沒有后引號(hào),則該名稱是對(duì)標(biāo)志值類型的合理猜測(cè),如果標(biāo)志為布爾值,則為空字符串。

func Var

func Var(value Value, name string, usage string)

Var 定義了一個(gè)具有指定名稱和用法字符串的標(biāo)志。標(biāo)志的類型和值由 Value 類型的第一個(gè)參數(shù)表示,它通常包含 Value 的用戶定義實(shí)現(xiàn)。例如,調(diào)用者可以創(chuàng)建一個(gè)標(biāo)志,通過(guò)為切片提供 Value 的方法來(lái)將逗號(hào)分隔的字符串轉(zhuǎn)換為一段字符串; 特別是 Set 會(huì)將逗號(hào)分隔的字符串分解成片。

func Visit

func Visit(fn func(*Flag))

Visit 按照字典順序訪問命令行標(biāo)志,為每個(gè)標(biāo)志調(diào)用 fn 。它只訪問已設(shè)置的標(biāo)志。

func VisitAll

func VisitAll(fn func(*Flag))

VisitAll 按照字典順序訪問命令行標(biāo)志,為每個(gè)命令調(diào)用 fn 。它訪問所有的標(biāo)志,甚至沒有設(shè)置。

type ErrorHandling

ErrorHandling 定義了解析失敗時(shí) FlagSet.Parse 的行為。

type ErrorHandling int

如果解析失敗,這些常量會(huì)導(dǎo)致 FlagSet.Parse 的行為與所述相同。

const (
        ContinueOnError ErrorHandling = iota // Return a descriptive error.
        ExitOnError                          // Call os.Exit(2).
        PanicOnError                         // Call panic with a descriptive error.)

type Flag

一個(gè)標(biāo)志表示一個(gè)標(biāo)志的狀態(tài)。

type Flag struct {
        Name     string // name as it appears on command line
        Usage    string // help message
        Value    Value  // value as set
        DefValue string // default value (as text); for usage message}

func Lookup

func Lookup(name string) *Flag

Lookup 返回指定命令行標(biāo)志的標(biāo)志結(jié)構(gòu),如果不存在則返回 nil 。

type FlagSet

FlagSet 表示一組定義的標(biāo)志。FlagSet 的零值沒有名稱,并且具有 ContinueOnError 錯(cuò)誤處理。

type FlagSet struct {        // Usage is the function called when an error occurs while parsing flags.        // The field is a function (not a method) that may be changed to point to        // a custom error handler.
        Usage func()        // contains filtered or unexported fields}

func NewFlagSet

func NewFlagSet(name string, errorHandling ErrorHandling) *FlagSet

NewFlagSet 使用指定的名稱和錯(cuò)誤處理屬性返回一個(gè)新的空標(biāo)志集。

func (*FlagSet) Arg

func (f *FlagSet) Arg(i int) string

Arg 返回第 i 個(gè)參數(shù)。Arg(0)是標(biāo)志處理后的第一個(gè)剩余參數(shù)。如果請(qǐng)求的元素不存在,則 Arg 返回一個(gè)空字符串。

func (*FlagSet) Args

func (f *FlagSet) Args() []string

Args 返回非標(biāo)志參數(shù)。

func (*FlagSet) Bool

func (f *FlagSet) Bool(name string, value bool, usage string) *bool

Bool 定義了一個(gè)具有指定名稱,默認(rèn)值和用法字符串的布爾標(biāo)志。返回值是存儲(chǔ)標(biāo)志值的 bool 變量的地址。

func (*FlagSet) BoolVar

func (f *FlagSet) BoolVar(p *bool, name string, value bool, usage string)

BoolVar 定義了一個(gè)具有指定名稱,默認(rèn)值和用法字符串的布爾標(biāo)志。參數(shù) p 指向一個(gè)存儲(chǔ)標(biāo)志值的 bool 變量。

func (*FlagSet) Duration

func (f *FlagSet) Duration(name string, value time.Duration, usage string) *time.Duration

持續(xù)時(shí)間定義了一個(gè)帶指定名稱,缺省值和用法字符串的 time.Duration 標(biāo)志。返回值是存儲(chǔ)標(biāo)志值的 time.Duration 變量的地址。該標(biāo)志接受 time.ParseDuration 可接受的值。

func (*FlagSet) DurationVar

func (f *FlagSet) DurationVar(p *time.Duration, name string, value time.Duration, usage string)

DurationVar 定義了一個(gè)具有指定名稱,缺省值和用法字符串的 time.Duration 標(biāo)志。參數(shù) p 指向一個(gè)用于存儲(chǔ)標(biāo)志值的 time.Duration 變量。該標(biāo)志接受 time.ParseDuration 可接受的值。

func (*FlagSet) Float64

func (f *FlagSet) Float64(name string, value float64, usage string) *float64

Float64 定義了一個(gè)帶有指定名稱,缺省值和用法字符串的 float64 標(biāo)志。返回值是存儲(chǔ)標(biāo)志值的 float64 變量的地址。

func (*FlagSet) Float64Var

func (f *FlagSet) Float64Var(p *float64, name string, value float64, usage string)

Float64Var 定義了一個(gè)帶有指定名稱,缺省值和用法字符串的 float64 標(biāo)志。參數(shù) p 指向一個(gè) float64 變量,用于存儲(chǔ)標(biāo)志的值。

func (*FlagSet) Init

func (f *FlagSet) Init(name string, errorHandling ErrorHandling)

Init 為標(biāo)志集設(shè)置名稱和錯(cuò)誤處理屬性。默認(rèn)情況下,zero FlagSet 使用空名稱和 ContinueOnError 錯(cuò)誤處理策略。

func (*FlagSet) Int

func (f *FlagSet) Int(name string, value int, usage string) *int

Int 定義了一個(gè)具有指定名稱,默認(rèn)值和用法字符串的 int 標(biāo)志。返回值是存儲(chǔ)標(biāo)志值的 int 變量的地址。

func (*FlagSet) Int64

func (f *FlagSet) Int64(name string, value int64, usage string) *int64

Int64 定義了一個(gè)具有指定名稱,缺省值和用法字符串的 int64 標(biāo)志。返回值是存儲(chǔ)標(biāo)志值的 int64 變量的地址。

func (*FlagSet) Int64Var

func (f *FlagSet) Int64Var(p *int64, name string, value int64, usage string)

Int64Var 定義了一個(gè)帶有指定名稱,默認(rèn)值和用法字符串的 int64 標(biāo)志。參數(shù) p 指向一個(gè) int64 變量,用于存儲(chǔ)標(biāo)志的值。

func (*FlagSet) IntVar

func (f *FlagSet) IntVar(p *int, name string, value int, usage string)

IntVar 定義了一個(gè)具有指定名稱,默認(rèn)值和用法字符串的 int 標(biāo)志。參數(shù) p 指向一個(gè) int 變量,用于存儲(chǔ)標(biāo)志的值。

func (*FlagSet) Lookup

func (f *FlagSet) Lookup(name string) *Flag

Lookup 返回指定標(biāo)志的標(biāo)志結(jié)構(gòu),如果不存在則返回 nil 。

func (*FlagSet) NArg

func (f *FlagSet) NArg() int

NArg 是標(biāo)志處理后剩余的參數(shù)數(shù)量。

func (*FlagSet) NFlag

func (f *FlagSet) NFlag() int

NFlag 返回已設(shè)置的標(biāo)志數(shù)量。

func (*FlagSet) Parse

func (f *FlagSet) Parse(arguments []string) error

解析解析參數(shù)列表中的標(biāo)志定義,該列表不應(yīng)包含命令名稱。必須在 FlagSet 中的所有標(biāo)志被定義之后且在程序訪問標(biāo)志之前調(diào)用。如果設(shè)置了 -help 或 -h 但未定義,則返回值為 ErrHelp 。

func (*FlagSet) Parsed

func (f *FlagSet) Parsed() bool

Parsed 報(bào)告是否調(diào)用了f.Parse。

func (*FlagSet) PrintDefaults

func (f *FlagSet) PrintDefaults()

PrintDefaults 將標(biāo)準(zhǔn)錯(cuò)誤打印到集合中所有已定義的命令行標(biāo)志的默認(rèn)值。有關(guān)更多信息,請(qǐng)參閱全局函數(shù) PrintDefaults 的文檔。

func (*FlagSet) Set

func (f *FlagSet) Set(name, value string) error

Set 設(shè)置指定標(biāo)志的值。

func (*FlagSet) SetOutput

func (f *FlagSet) SetOutput(output io.Writer)

SetOutput 設(shè)置使用和錯(cuò)誤消息的目的地。如果輸出為零,則使用 os.Stderr 。

func (*FlagSet) String

func (f *FlagSet) String(name string, value string, usage string) *string

字符串定義了一個(gè)具有指定名稱,缺省值和用法字符串的字符串標(biāo)志。返回值是存儲(chǔ)標(biāo)志值的字符串變量的地址。

func (*FlagSet) StringVar

func (f *FlagSet) StringVar(p *string, name string, value string, usage string)

StringVar 定義了一個(gè)具有指定名稱,默認(rèn)值和用法字符串的字符串標(biāo)志。參數(shù) p 指向一個(gè)字符串變量,用于存儲(chǔ)標(biāo)志的值。

func (*FlagSet) Uint

func (f *FlagSet) Uint(name string, value uint, usage string) *uint

Uint 定義一個(gè)具有指定名稱,默認(rèn)值和用法字符串的 uint 標(biāo)志。返回值是存儲(chǔ)標(biāo)志值的 uint 變量的地址。

func (*FlagSet) Uint64

func (f *FlagSet) Uint64(name string, value uint64, usage string) *uint64

Uint64 定義了一個(gè)具有指定名稱,默認(rèn)值和用法字符串的 uint64 標(biāo)志。返回值是存儲(chǔ)標(biāo)志值的 uint64 變量的地址。

func (*FlagSet) Uint64Var

func (f *FlagSet) Uint64Var(p *uint64, name string, value uint64, usage string)

Uint64Var 定義了一個(gè)具有指定名稱,默認(rèn)值和用法字符串的 uint64 標(biāo)志。參數(shù) p 指向一個(gè) uint64 變量,用于存儲(chǔ)標(biāo)志的值。

func (*FlagSet) UintVar

func (f *FlagSet) UintVar(p *uint, name string, value uint, usage string)

UintVar 定義了一個(gè)具有指定名稱,默認(rèn)值和用法字符串的 uint 標(biāo)志。參數(shù) p 指向一個(gè)存儲(chǔ)標(biāo)志值的 uint 變量。

func (*FlagSet) Var

func (f *FlagSet) Var(value Value, name string, usage string)

Var 定義了一個(gè)具有指定名稱和用法字符串的標(biāo)志。標(biāo)志的類型和值由 Value 類型的第一個(gè)參數(shù)表示,它通常包含 Value 的用戶定義實(shí)現(xiàn)。例如,調(diào)用者可以創(chuàng)建一個(gè)標(biāo)志,通過(guò)為切片提供 Value 的方法來(lái)將逗號(hào)分隔的字符串轉(zhuǎn)換為一段字符串;特別是 Set 會(huì)將逗號(hào)分隔的字符串分解成片。

func (*FlagSet) Visit

func (f *FlagSet) Visit(fn func(*Flag))

Visit 按照字典順序訪問標(biāo)志,為每個(gè)標(biāo)志調(diào)用 fn 。它只訪問已設(shè)置的標(biāo)志。

func (*FlagSet) VisitAll

func (f *FlagSet) VisitAll(fn func(*Flag))

VisitAll 按字典順序訪問標(biāo)志,為每個(gè)標(biāo)志調(diào)用 fn 。它訪問所有的標(biāo)志,甚至沒有設(shè)置。

type Getter

Getter 是一個(gè)接口,允許檢索值的內(nèi)容。它包裝了 Value 接口,而不是其中的一部分,因?yàn)樗霈F(xiàn)在 Go 1 及其兼容性規(guī)則之后。此包提供的所有值類型均滿足 Getter 接口。

type Getter interface {
        Value        Get() interface{}}

type Value

值是存儲(chǔ)在標(biāo)志中的動(dòng)態(tài)值的接口。(默認(rèn)值表示為一個(gè)字符串。)

如果值的 IsBoolFlag() bool 方法返回 true,則命令行解析器將使 -name 等同于 -name = true,而不是使用下一個(gè)命令行參數(shù)。

對(duì)于每個(gè)存在的標(biāo)志,集合都以命令行順序調(diào)用一次。標(biāo)志包可以用一個(gè)零值接收者(例如零指針)調(diào)用 String 方法。

type Value interface {        String() string        Set(string) error}
Previous article: Next article: