// You achieve default value to function parameters functionality using variadic or wrapper functions.
package main
import "fmt"
// Original function without default parameter
func print(name string, age int) {
fmt.Printf("name: %s age: %d\n", name, age)
}
// Wrapper function with default parameter value
func printWithDefault(name string, age ...int) {
defaultAge := 24
if len(age) > 0 {
print(name, age[0])
} else {
print(name, defaultAge)
}
}
func main() {
printWithDefault("Frank Enstein")
printWithDefault("Al Dente", 41)
}
/*
run:
name: Frank Enstein age: 24
name: Al Dente age: 41
*/