github.com/l3x/learn-fp-go@v0.0.0-20171228022418-7639825d0b71/1-functional-fundamentals/ch01-pure-fp/01_oop/src/oop/cars.go (about)

     1  package oop
     2  
     3  import (
     4  	"errors"
     5  )
     6  
     7  type Car struct {
     8  	Model string
     9  }
    10  type Cars []Car
    11  var MyCars Cars
    12  
    13  func (cars *Cars) Add(car Car) {
    14  	MyCars = append(MyCars, car)
    15  }
    16  
    17  func (cars *Cars) Find(model string) (*Car, error) {
    18  	for _, car := range *cars {
    19  		if car.Model == model {
    20  			return &car, nil
    21  		}
    22  	}
    23  	return nil, errors.New("car not found")
    24  }