Rumah  >  Artikel  >  pembangunan bahagian belakang  >  Bagaimanakah saya boleh menghuraikan berbilang nilai ke dalam senarai menggunakan bendera tersuai di Golang?

Bagaimanakah saya boleh menghuraikan berbilang nilai ke dalam senarai menggunakan bendera tersuai di Golang?

Linda Hamilton
Linda Hamiltonasal
2024-11-16 07:08:03258semak imbas

How can I parse multiple values into a list using custom flags in Golang?

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!

Kenyataan:
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn