package main
import "fmt"
func Map(in []int, fn func(int) int) []int {
out := []int{}
for i := 0; i < len(in); i++ {
out = append(out, fn(in[i]))
}
return out
}
func Filter(in []int, fn func(int) bool) []int {
out := []int{}
for i := 0; i < len(in); i++ {
pass := fn(in[i])
if (pass) {
out = append(out, in[i])
}
}
return out
}
func main() {
input := []int{1,2,3,4,5}
fmt.Println(input)
doubled := Map(input, func(x int) int { return x * 2})
fmt.Println(doubled)
odds := Filter(input, func(x int) bool { return x % 2 == 0})
fmt.Println(odds)
evens := Filter(input, func(x int) bool { return x % 2 != 0})
fmt.Println(evens)
}
To embed this project on your website, copy the following code and paste it into your website's HTML: