ホームページ  >  記事  >  バックエンド開発  >  Golang で値のリストをフラグとして解析するにはどうすればよいですか?

Golang で値のリストをフラグとして解析するにはどうすればよいですか?

Patricia Arquette
Patricia Arquetteオリジナル
2024-11-16 16:18:03895ブラウズ

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

Golang でフラグとして値のリストを取得する

Golang では、標準のフラグ パッケージにより、コマンドからフラグを解析する機能が提供されます。行ですが、本質的には文字列、整数、ブール値などのプリミティブ型のみをサポートします。値のリストをフラグとして処理するには、カスタムの flag.Value 型を実装し、それをバインドするために flag.Var() を利用できます。

実装例は以下で入手できます:

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

このカスタム フラグ タイプは、次のような複数のフラグ値を渡すために使用できます。

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

要約すると、カスタム flag.Value タイプを実装し、 flag.Var() を使用すると、開発者は値のリストをフラグとして解析できるため、コマンドライン引数の処理がより柔軟になります。

以上がGolang で値のリストをフラグとして解析するにはどうすればよいですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。