Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- package main
- import (
- "fmt"
- )
- func fList(v ...interface{}) []interface{} {
- return v
- }
- func main() {
- a := fList(1, fList(2, 3, 4), 5, 6, 8, fList(7, 8, 9))
- fmt.Println(a)
- fmt.Println(flatten(a))
- }
- func flatten(s []interface{}) []int {
- result := []int{}
- for _, v := range s {
- switch i := v.(type) {
- case int:
- result = append(result, i)
- case []interface{}:
- result = append(result, flatten(i)...)
- }
- }
- return result
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement