Bendera Tersuai untuk Senarai di Golang
Pakej bendera Golang membenarkan penghuraian hujah yang mudah, tetapi ia biasanya menyokong jenis asas seperti rentetan, integer, atau boolean. Ini mungkin kelihatan terhad apabila menggunakan senarai nilai.
Golang membenarkan penciptaan bendera tersuai dengan melaksanakan antara muka flag.Value. Antara muka ini memerlukan pelaksanaan dua kaedah: String() dan Set(). Dengan mentakrifkan bendera tersuai untuk senarai, anda boleh mendayakan penghuraian berbilang nilai yang dihantar melalui bendera baris arahan.
Menentukan Bendera Senarai Tersuai
Pertimbangkan contoh berikut :
package main import "flag" import "fmt" type arrayFlags []string // String() implements the flag.Value interface func (i *arrayFlags) String() string { return fmt.Sprintf("%v", *i) } // Set() implements the flag.Value interface 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) }
Ini mentakrifkan jenis bendera tersuai yang dipanggil arrayFlags yang menerima berbilang nilai. Bendera terikat pada nama bendera "list1" dan boleh dihuraikan menggunakan flag.Parse().
Penggunaan
Untuk menghantar berbilang nilai menggunakan bendera tersuai ini, anda boleh menjalankan program seperti berikut:
go run your_file.go --list1 value1 --list1 value2 --list1 value3
Ini akan mengisi pembolehubah myFlags dengan tiga nilai yang disediakan: ["nilai1", "nilai2", "nilai3"]. Anda kemudiannya boleh mengakses nilai ini dalam program anda.
Taman Permainan
Untuk contoh langsung, anda boleh melawati taman permainan berikut: [pautan taman permainan]
Atas ialah kandungan terperinci Bagaimanakah saya boleh menghuraikan berbilang nilai ke dalam senarai menggunakan bendera tersuai di Golang?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!