Go語言提供了對命令行解析的內置支持,並具有可用於定義標誌的函數,這些標誌可與命令行程序一起使用,flag
包。該軟件包提供了flag.Bool()函數,該函數用於定義具有指定名稱,默認值和用法字符串的布爾標誌。
用法:
func Bool(name string, value bool, usage string) *bool
參數:此函數接受上述和以下描述的三個參數:
- name:它是一個字符串,指定用於標誌的名稱。
- value:它是一個布爾值,它指定標誌使用的默認值。
- usage:它是一個字符串,指定要為該標誌顯示的用法或幫助消息。
返回值:它返回布爾變量的地址,該變量存儲定義的標誌的值。
以下示例程序旨在說明flag.Bool()函數:
範例1:
// Golang program to illustrate
// the flag.Bool() Function
package main
import (
"flag"
"fmt"
)
func main() {
// Define a bool flag
boolArgPtr:= flag.Bool("arg1", false, "This is a bool argument")
// Parse command line
// into the defined flags
flag.Parse()
fmt.Println("Bool Arg:", *boolArgPtr)
}
輸出:
- 指定標誌值
$ go run ex1.go -arg1=true Bool Arg:true
- 未指定標誌值(默認值)
$ go run ex1.go Bool Arg:false
範例2:
// Golang program to illustrate
// the flag.Bool() Function
package main
import (
"flag"
"fmt"
)
func main() {
// Define multiple bool arguments
plainArgPtr:= flag.Bool("plaintext", false, "Enable plaintext")
jsonArgPtr:= flag.Bool("json", false, "Enable JSON")
csvArgPtr:= flag.Bool("csv", false, "Enable CSV")
// Parse command line into the defined flags
flag.Parse()
fmt.Println("Enable plaintext:", *plainArgPtr)
fmt.Println("Enable JSON:", *jsonArgPtr)
fmt.Println("Enable CSV:", *csvArgPtr)
}
輸出
- 指定一些標誌值
$ go run ex2.go -plaintext=true -csv=true Enable plaintext:true Enable JSON:false Enable CSV:true
- 沒有指定任何標誌值(默認值)
$ go run ex2.go Enable plaintext:false Enable JSON:false Enable CSV:false
相關用法
- Golang math.Lgamma()用法及代碼示例
- Golang math.Float64bits()用法及代碼示例
- Golang atomic.AddInt64()用法及代碼示例
- Golang atomic.StoreInt64()用法及代碼示例
- Golang reflect.FieldByIndex()用法及代碼示例
- Golang string.Contains用法及代碼示例
- Golang bits.Sub()用法及代碼示例
- Golang io.PipeWriter.CloseWithError()用法及代碼示例
- Golang time.Round()用法及代碼示例
- Golang reflect.AppendSlice()用法及代碼示例
- Golang reflect.ChanOf()用法及代碼示例
- Golang time.Sleep()用法及代碼示例
- Golang time.Time.Year()用法及代碼示例
- Golang reflect.DeepEqual()用法及代碼示例
- Golang reflect.Indirect()用法及代碼示例
- Golang reflect.CanAddr()用法及代碼示例
- Golang reflect.CanInterface()用法及代碼示例
- Golang reflect.CanSet()用法及代碼示例
- Golang reflect.Cap()用法及代碼示例
- Golang strings.ContainsRune()用法及代碼示例
注:本文由純淨天空篩選整理自sayantanm19大神的英文原創作品 flag.Bool() Function in Golang With Examples。非經特殊聲明,原始代碼版權歸原作者所有,本譯文未經允許或授權,請勿轉載或複製。