ホームページ >バックエンド開発 >Golang >フィールド名を使用して Go 関数のパラメーターを初期化するにはどうすればよいですか?

フィールド名を使用して Go 関数のパラメーターを初期化するにはどうすればよいですか?

Linda Hamilton
Linda Hamiltonオリジナル
2024-12-15 04:22:13657ブラウズ

How Can I Initialize Go Function Parameters Using Field Names?

Go で関数フィールドを初期化する

Go では、関数を呼び出すときに名前付きパラメーターを指定することはできません。代わりに、引数は予想される順序でリストする必要があります。ただし、フィールド名を使用して初期化を行う方法は 2 つあります。

Struct を使用する

最も直接的な方法は、関数のパラメーターを含む構造体を定義し、その構造体のインスタンスを関数に渡すことです。関数:

type Params struct {
    Name    string
    Address string
    Nick    string
    Age     int
    Value   int
}

func MyFunction(p Params) {
    // Operations using p.Name, p.Address, etc.
}

func main() {
    MyFunction(Params{
        Name:    "Bob",
        Address: "New York",
        Nick:    "Builder",
        Age:     30,
        Value:   1000,
    })
}

ヘルパー関数の使用

変更する場合元の関数が実行できない場合は、構造体を受け入れ、適切なフィールド値を元の関数に転送するヘルパー関数を作成できます。

func MyFunction(name, address, nick string, age, value int) {
    // Operations using name, address, etc.
}

func MyFunction2(p Params) {
    MyFunction(p.Name, p.Address, p.Nick, p.Age, p.Value)
}

func main() {
    MyFunction2(Params{
        Name:    "Bob",
        Address: "New York",
        Nick:    "Builder",
        Age:     30,
        Value:   1000,
    })
}

どちらの方法でも、フィールド名を使用して関数パラメータを初期化できます。柔軟性とコードの可読性の向上。

以上がフィールド名を使用して Go 関数のパラメーターを初期化するにはどうすればよいですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

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