go

¿Cómo obtener una lista de valores en una bandera en Golang?



(2)

Puede definir su propio flag.Value y usar flag.Var() para enlazarlo.

El ejemplo está here .

Luego puedes pasar varias banderas como las siguientes:

go run your_file.go --list1 value1 --list1 value2

UPD: incluye un fragmento de código justo por si acaso.

package main import "flag" type arrayFlags []string func (i *arrayFlags) String() string { return "my string representation" } 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() }

¿Cuál es el equivalente de Golang de los siguientes comandos de python?

import argparse parser = argparse.ArgumentParser(description="something") parser.add_argument("-getList1",nargs=''*'',help="get 0 or more values") parser.add_argument("-getList2",nargs=''?'',help="get 1 or more values")

He visto que el paquete de bandera permite el análisis de argumentos en Golang. Pero parece que solo soporta String, Int o Bool. Cómo obtener una lista de valores en una bandera en este formato:

go run myCode.go -getList1 value1 value2