Rumah  >  Artikel  >  pembangunan bahagian belakang  >  Bagaimana Menghuraikan Senarai Nilai sebagai Bendera di Golang?

Bagaimana Menghuraikan Senarai Nilai sebagai Bendera di Golang?

Patricia Arquette
Patricia Arquetteasal
2024-11-16 16:18:03895semak imbas

How to Parse a List of Values as a Flag in Golang?

Memperoleh Senarai Nilai sebagai Bendera di Golang

Di Golang, pakej bendera standard menyediakan keupayaan untuk menghuraikan bendera daripada arahan baris, tetapi ia sememangnya menyokong jenis primitif sahaja seperti rentetan, integer dan boolean. Untuk mengendalikan senarai nilai sebagai bendera, seseorang boleh melaksanakan bendera tersuai. Jenis nilai dan menggunakan bendera.Var() untuk mengikatnya.

Contoh pelaksanaan tersedia di bawah:

import (
    "flag"
    "fmt"
)

type arrayFlags []string

// String is a required implementation of the flag.Value interface
func (i *arrayFlags) String() string {
    return fmt.Sprintf("%v", *i)
}

// Set is another required implementation of 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 parameter.")
    flag.Parse()
}

Jenis bendera tersuai ini kemudiannya boleh digunakan untuk menghantar berbilang nilai bendera, seperti:

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

Ringkasnya, dengan melaksanakan tersuai jenis flag.Value dan menggunakan flag.Var(), Golang membenarkan pembangun menghuraikan senarai nilai sebagai bendera, memberikan lebih fleksibiliti dalam pengendalian hujah baris arahan.

Atas ialah kandungan terperinci Bagaimana Menghuraikan Senarai Nilai sebagai Bendera 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