當前位置: 首頁>>代碼示例 >>用法及示例精選 >>正文


Golang flag.Bool()用法及代碼示例


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
    



相關用法


注:本文由純淨天空篩選整理自sayantanm19大神的英文原創作品 flag.Bool() Function in Golang With Examples。非經特殊聲明,原始代碼版權歸原作者所有,本譯文未經允許或授權,請勿轉載或複製。