Go 中將列表值解析為 Flag
在 Go 中,相當於 Python 的 argparse 的是 flag 套件。雖然內建標誌類型僅支援字串、整數和布林值,但可以定義自訂標誌類型以容納值列表。
列表的自訂標誌類型
要為列表值定義自訂標誌類型,請在新類型中實作 flag.Value 接口,例如 arrayFlags。 String() 方法提供列表的字串表示形式,Set() 方法用新值更新列表。
綁定自訂標誌
一旦您定義了自訂標誌類型後,您可以使用 flag.Var() 將其綁定到標誌。這允許您在運行時傳遞該標誌的多個值。
範例用法
以下是如何對清單使用自訂標誌類型的範例:
package main import ( "flag" "fmt" ) type arrayFlags []string func (i *arrayFlags) String() string { return fmt.Sprintf("%v", *i) } func (i *arrayFlags) Set(value string) error { *i = append(*i, value) return nil } var myFlags arrayFlags func main() { flag.Var(&myFlags, "list1", "Some description for this param.") flag.Parse() fmt.Println(myFlags) // Prints [value1 value2] }
使用下列指令執行此程式碼會將列表值解析到myFlags 中變數:
go run your_file.go --list1 value1 --list1 value2
以上是如何在 Go 中將列表值解析為標誌?的詳細內容。更多資訊請關注PHP中文網其他相關文章!