Cara Menentukan Jenis Bendera Tersuai untuk Mengendalikan Argumen Senarai di Golang
Modul argparse Python menawarkan argumen nargs untuk menentukan bilangan nilai kepada dihuraikan apabila berurusan dengan senarai. Pakej bendera Golang, sambil menyokong jenis asas, tidak menyediakan cara langsung untuk menerima senarai. Begini cara untuk menentukan jenis bendera anda sendiri untuk menangani isu ini:
Mencipta Jenis Bendera Tatasusunan Tersuai:
Atur cara Golang boleh mencipta jenis bendera mereka sendiri dengan melaksanakan bendera .Antara muka nilai. Kod berikut mentakrifkan jenis arrayFlags untuk mengendalikan tatasusunan rentetan:
type arrayFlags []string // String implements the flag.Value interface to convert the flag value to a string func (i *arrayFlags) String() string { return fmt.Sprintf("%v", *i) } // Set implements the flag.Value interface to update the flag value when a new argument is provided func (i *arrayFlags) Set(value string) error { *i = append(*i, value) return nil }
Menggunakan Jenis Bendera Tersuai:
Untuk menggunakan jenis bendera tatasusunan, anda boleh gunakan fungsi flag.Var(). Berikut ialah contoh:
var myFlags arrayFlags func main() { flag.Var(&myFlags, "list1", "Some description for this param.") flag.Parse() }
Menghuraikan Berbilang Bendera:
Anda boleh menghantar berbilang bendera seperti ini:
go run your_file.go --list1 value1 --list1 value2
Pembolehubah myFlags akan kini mengandungi nilai yang dihantar ke bendera list1, memberikan anda akses kepada senarai nilai.
Atas ialah kandungan terperinci Bagaimana untuk Mencipta Jenis Bendera Tersuai untuk Mengendalikan Argumen Senarai di Golang?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!