12345678910111213141516171819202122232425262728293031 |
- package main
- import (
- "fmt"
- "github.com/tal-tech/go-zero/core/mr"
- )
- var (
- persons = []string{"john", "mary", "alice", "bob"}
- friends = map[string][]string{
- "john": {"harry", "hermione", "ron"},
- "mary": {"sam", "frodo"},
- "alice": {},
- "bob": {"jamie", "tyrion", "cersei"},
- }
- )
- func main() {
- var allFriends []string
- for v := range mr.Map(func(source chan<- interface{}) {
- for _, each := range persons {
- source <- each
- }
- }, func(item interface{}, writer mr.Writer) {
- writer.Write(friends[item.(string)])
- }, mr.WithWorkers(100)) {
- allFriends = append(allFriends, v.([]string)...)
- }
- fmt.Println(allFriends)
- }
|