Guest User

Untitled

a guest
May 25th, 2018
83
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 1.01 KB | None | 0 0
  1. // You can edit this code!
  2. // Click here and start typing.
  3. package main
  4.  
  5. import "fmt"
  6. import "strings"
  7.  
  8.  
  9. type ArrayList struct {
  10. array []string
  11. }
  12.  
  13. func (a* ArrayList) Add(s string) {
  14. a.array = append(a.array, s)
  15. }
  16. func (a* ArrayList) Get(i int) string {
  17. return a.array[i]
  18. }
  19.  
  20. func (a* ArrayList) Size() int {
  21. return len(a.array)
  22. }
  23.  
  24.  
  25. func (a ArrayList) filter(f func(x string) bool) ArrayList {
  26. var aList ArrayList
  27. for i:= 0; i < a.Size(); i++ {
  28. if f(a.Get(i)) {
  29. aList.Add(a.Get(i))
  30. }
  31. }
  32. return aList
  33. }
  34.  
  35. type Function struct {
  36. }
  37.  
  38. func (function Function) Equals(value string) func(s string) bool {
  39. return func (s string) bool{
  40. return s == value
  41. }
  42. }
  43.  
  44. func (function Function) Contains(value string) func(s string) bool {
  45. return func (s string) bool {
  46. return strings.Contains(s, value)
  47. }
  48. }
  49.  
  50.  
  51.  
  52. func main() {
  53. fmt.Println("hi")
  54. var a ArrayList
  55. a.Add("what")
  56. a.Add("yo")
  57. a.Add("5")
  58.  
  59. var function Function
  60.  
  61. k := a.filter(function.Equals("what")).filter(function.Contains("hat"))
  62.  
  63. fmt.Println(k .Size())
  64. }
Add Comment
Please, Sign In to add comment