Go では、関数呼び出しでは、引数を関数パラメーターと同じ順序でリストする必要があります。ただし、次のように引数を名前で明示的に指定することもできます:
MyFunction(name: "Bob", address: "New York", nick: "Builder", age: 30, value: 1000)
非名前付き引数はサポートされていません
残念ながら、Go は名前付き引数をサポートしていません機能用。 Go 仕様で述べられているように、すべての非可変引数パラメーターに対して予想される順序で値を指定する必要があります。
オプション 1: 構造体ラッパーを使用する
名前付きを模倣するには引数を使用すると、関数パラメータをラップする構造体を作成できます:
type Params struct { name, address, nick string age, value int } func MyFunction(p Params) { // perform some operations using p.name, p.address, etc. } func main() { MyFunction(Params{ name: "Bob", address: "New York", nick: "Builder", age: 30, value: 1000, }) }
Option 2: ヘルパー関数を使用する
元の関数を変更できない場合は、構造体パラメーターを受け取り、適切なフィールドを引数として元の関数を呼び出すヘルパー関数を作成します。
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 サイトの他の関連記事を参照してください。