Advertisement
Guest User

Untitled

a guest
Aug 18th, 2019
92
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 0.43 KB | None | 0 0
  1. package main
  2.  
  3. import (
  4. "fmt"
  5. )
  6.  
  7. func fList(v ...interface{}) []interface{} {
  8. return v
  9. }
  10.  
  11. func main() {
  12. a := fList(1, fList(2, 3, 4), 5, 6, 8, fList(7, 8, 9))
  13. fmt.Println(a)
  14. fmt.Println(flatten(a))
  15. }
  16.  
  17. func flatten(s []interface{}) []int {
  18. result := []int{}
  19.  
  20. for _, v := range s {
  21. switch i := v.(type) {
  22. case int:
  23. result = append(result, i)
  24. case []interface{}:
  25. result = append(result, flatten(i)...)
  26. }
  27. }
  28.  
  29. return result
  30. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement