go optional parameters
// **Go doesn't support optional parameters natively.** // Yeah, it is frustrating! // Link to discussion: https://stackoverflow.com/questions/2032149/optional-parameters-in-go // * This is a simple hack based on @ferguzz's answer: https://stackoverflow.com/a/19813113/13791656: package main import ( "fmt" ) type CustomOptions struct { option1 int option2 string option3 bool } func foo(requiredParam string, optionalParams ...CustomOptions) { fmt.Println(len(optionalParams)) // returns how many Custom Options are included option1 = optionalParams[0].option1 // params is an array fmt.print(optionalParams[0].option1) } func main() { foo("I'm required") foo("I'm required", CustomOptions(option1: 1)) foo("I'm required", CustomOptions(option1: 1, option2: "2", option3: true)) }