Go 函數中的命名參數
在Go 中,函數參數通常按值傳遞,且參數的順序必須與順序相符的參數。這有時會使向具有長或複雜參數列表的函數傳遞參數變得困難。
使用命名參數
Go 函數不支援命名參數。這意味著呼叫函數時不能指定參數名稱。您必須按照函數預期的順序傳遞值。
範例
考慮下列函數:
MyFunction(name, address, nick string, age, value int)
呼叫此函式帶有參數("Bob", "New York", "Builder ", 30, 1000)的函數,你會寫:
MyFunction("Bob", "New York", "Builder", 30, 1000)
使用結構
如果需要以更結構化的方式將值傳遞給函數,可以使用自訂結構來包裝參數.
type Params struct { Name string Address string Nick string Age int Value int } // ... MyFunction(Params{ Name: "Bob", Address: "New York", Nick: "Builder", Age: 30, Value: 1000, })
使用助手函數
如果無法修改函數簽名,您可以建立一個輔助函數,該函數接受結構體作為參數,並使用適當的參數呼叫原始函數。
// Helper function func MyFunctionHelper(params Params) { MyFunction(params.Name, params.Address, params.Nick, params.Age, params.Value) } // ... MyFunctionHelper(Params{ Name: "Bob", Address: "New York", Nick: "Builder", Age: 30, Value: 1000, })
以上是Go 支援函數呼叫中的命名參數嗎?的詳細內容。更多資訊請關注PHP中文網其他相關文章!