func Flatten(args ...interface{}) []interface{}
Flatten takes a variable number of arguments and returns an array containing, in sequence, each argument or - if an argument is an array or a slice - that argument's contents.
e.g. Flatten(1, []int{2, 3, 4}, 5) => 1, 2, 3, 4, 5
func FlattenExcludingNils(args ...interface{}) []interface{}
FlattenExcludingNils takes a variable number of arguments and returns an array containing, in sequence, each non-nil argument or - if an argument is an array or a slice - that argument's non-nil contents.
e.g. FlattenExcludingNils(1, nil, []int{2, nil, 3, 4}, 5) => 1, 2, 3, 4, 5
func FlattenRecursive(args ...interface{}) []interface{}
FlattenRecursive takes a variable number of arguments and returns an array containing, in sequence, each argument or - if an argument is an array or a slice - that argument's contents, flattened recursively.
e.g. FlattenRecursive([]interface{}{1, 2, []int{3, 4}}, 5) => 1, 2, 3, 4, 5