Rumah > pembangunan bahagian belakang > Golang > Bagaimana untuk Menghuraikan Nilai Senarai ke dalam Bendera dalam Go?

Bagaimana untuk Menghuraikan Nilai Senarai ke dalam Bendera dalam Go?

Susan Sarandon
Lepaskan: 2024-11-29 08:36:13
asal
1031 orang telah melayarinya

How to Parse List Values into Flags in Go?

Menghuraikan Nilai Senarai ke dalam Bendera dalam Go

Dalam Go, yang setara dengan argparse Python ialah pakej bendera. Walaupun jenis bendera terbina dalam hanya menyokong rentetan, integer dan boolean, adalah mungkin untuk menentukan jenis bendera tersuai untuk menampung senarai nilai.

Jenis Bendera Tersuai untuk Senarai

Untuk menentukan jenis bendera tersuai untuk nilai senarai, laksanakan antara muka flag.Value dalam jenis baharu, seperti arrayFlags. Kaedah String() menyediakan perwakilan rentetan senarai, dan kaedah Set() mengemas kini senarai dengan nilai baharu.

Mengikat Bendera Tersuai

Sebaik sahaja anda telah menentukan jenis bendera tersuai, anda boleh menggunakan flag.Var() untuk mengikatnya pada bendera. Ini membolehkan anda menghantar berbilang nilai untuk bendera itu semasa masa jalan.

Contoh Penggunaan

Berikut ialah contoh cara menggunakan jenis bendera tersuai untuk senarai:

package main

import (
    "flag"
    "fmt"
)

type arrayFlags []string

func (i *arrayFlags) String() string {
    return fmt.Sprintf("%v", *i)
}

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) // Prints [value1 value2]
}
Salin selepas log masuk

Menjalankan kod ini dengan arahan berikut akan menghuraikan nilai senarai ke dalam myFlags pembolehubah:

go run your_file.go --list1 value1 --list1 value2
Salin selepas log masuk

Atas ialah kandungan terperinci Bagaimana untuk Menghuraikan Nilai Senarai ke dalam Bendera dalam Go?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

sumber:php.cn
Kenyataan Laman Web ini
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
Artikel terbaru oleh pengarang
Tutorial Popular
Lagi>
Muat turun terkini
Lagi>
kesan web
Kod sumber laman web
Bahan laman web
Templat hujung hadapan