map_function.go 508 B

1234567891011121314151617181920212223242526272829303132
  1. package main
  2. import "fmt"
  3. func main() {
  4. list := []int{0, 1, 2, 3, 4, 5, 6, 7}
  5. mf := func(i int) int {
  6. return i * 10
  7. }
  8. /*
  9. result := mapFunc(mf, list)
  10. for _, v := range result {
  11. fmt.Println(v)
  12. }
  13. */
  14. println()
  15. // shorter:
  16. fmt.Printf("%v", mapFunc(mf, list))
  17. }
  18. func mapFunc(mf func(int) int, list []int) []int {
  19. result := make([]int, len(list))
  20. for ix, v := range list {
  21. result[ix] = mf(v)
  22. }
  23. /*
  24. for ix := 0; ix<len(list); ix++ {
  25. result[ix] = mf(list[ix])
  26. }
  27. */
  28. return result
  29. }