|
|
@@ -62,7 +62,7 @@ func (cs Cars) Map(f func(car *Car) Any) []Any {
|
|
|
|
|
|
```go
|
|
|
allNewBMWs := allCars.FindAll(func(car *Car) bool {
|
|
|
- return (car.Manufacturer == “BMW”) && (car.BuildYear > 2010)
|
|
|
+ return (car.Manufacturer == "BMW") && (car.BuildYear > 2010)
|
|
|
})
|
|
|
```
|
|
|
|
|
|
@@ -75,13 +75,13 @@ func MakeSortedAppender(manufacturers[]string)(func(car*Car),map[string]Cars) {
|
|
|
for _, m := range manufacturers {
|
|
|
sortedCars[m] = make([]*Car, 0)
|
|
|
}
|
|
|
- sortedCars[“Default”] = make([]*Car, 0)
|
|
|
+ sortedCars["Default"] = make([]*Car, 0)
|
|
|
// Prepare appender function:
|
|
|
appender := func(c *Car) {
|
|
|
if _, ok := sortedCars[c.Manufacturer]; ok {
|
|
|
sortedCars[c.Manufacturer] = append(sortedCars[c.Manufacturer], c)
|
|
|
} else {
|
|
|
- sortedCars[“Default”] = append(sortedCars[“Default”], c)
|
|
|
+ sortedCars["Default"] = append(sortedCars["Default"], c)
|
|
|
}
|
|
|
|
|
|
}
|
|
|
@@ -92,10 +92,10 @@ func MakeSortedAppender(manufacturers[]string)(func(car*Car),map[string]Cars) {
|
|
|
现在我们可以用它把汽车分类为独立的集合,像这样:
|
|
|
|
|
|
```go
|
|
|
-manufacturers := []string{“Ford”, “Aston Martin”, “Land Rover”, “BMW”, “Jaguar”}
|
|
|
+manufacturers := []string{"Ford", "Aston Martin", "Land Rover", "BMW", "Jaguar"}
|
|
|
sortedAppender, sortedCars := MakeSortedAppender(manufacturers)
|
|
|
allUnsortedCars.Process(sortedAppender)
|
|
|
-BMWCount := len(sortedCars[“BMW”])
|
|
|
+BMWCount := len(sortedCars["BMW"])
|
|
|
```
|
|
|
|
|
|
我们让这些代码在下面的程序 cars.go 中执行:
|