」工欲善其事,必先利其器。「—孔子《論語.錄靈公》
首頁 > 程式設計 > 如何使用 Golang 中的自訂標誌將多個值解析為清單?

如何使用 Golang 中的自訂標誌將多個值解析為清單?

發佈於2024-12-22
瀏覽:795

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

Golang 中列表的自訂標誌

Golang 的標誌包允許簡單的參數解析,但它通常支援基本類型,如字元串、整數、或布林值。在使用值列表時,這似乎是有限制的。

Golang 允許透過實作 flag.Value 介面來建立自訂標誌。此介面需要實作兩個方法:String() 和 Set()。透過為清單定義自訂標誌,您可以解析透過命令列標誌傳遞的多個值。

定義自訂清單標誌

考慮以下範例:

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)
}

這定義了一個名為 arrayFlags 的自訂標誌類型,它接受多個值。此標誌綁定到「list1」標誌名稱,可以使用 flag.Parse() 進行解析。

用法

若要使用此自訂標誌傳遞多個值,您可以如下執行程式:

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

這將使用提供的三個值填入myFlags變數:[“value1”、“value2”、“value3”]。然後,您可以在程式中存取這些值。

Playground

相關實例,您可以訪問以下 Playground:[playground 連結]

最新教學 更多>

免責聲明: 提供的所有資源部分來自互聯網,如果有侵犯您的版權或其他權益,請說明詳細緣由並提供版權或權益證明然後發到郵箱:[email protected] 我們會在第一時間內為您處理。

Copyright© 2022 湘ICP备2022001581号-3