23 lines
377 B
Go
23 lines
377 B
Go
package main
|
|
|
|
import "fmt"
|
|
|
|
func forEach(data []int, fn func(int) int) []int {
|
|
newData := make([]int, 0, len(data))
|
|
for _, value := range data {
|
|
newData = append(newData, fn(value))
|
|
}
|
|
|
|
return newData
|
|
}
|
|
|
|
func main() {
|
|
var data = []int{1, 2, 3, 4}
|
|
var newData = forEach(data, func(value int) int {
|
|
return (value * value)
|
|
})
|
|
|
|
fmt.Println(data)
|
|
fmt.Println(newData)
|
|
}
|