Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- // You can edit this code!
- // Click here and start typing.
- package main
- import "fmt"
- import "strings"
- type ArrayList struct {
- array []string
- }
- func (a* ArrayList) Add(s string) {
- a.array = append(a.array, s)
- }
- func (a* ArrayList) Get(i int) string {
- return a.array[i]
- }
- func (a* ArrayList) Size() int {
- return len(a.array)
- }
- func (a ArrayList) filter(f func(x string) bool) ArrayList {
- var aList ArrayList
- for i:= 0; i < a.Size(); i++ {
- if f(a.Get(i)) {
- aList.Add(a.Get(i))
- }
- }
- return aList
- }
- type Function struct {
- }
- func (function Function) Equals(value string) func(s string) bool {
- return func (s string) bool{
- return s == value
- }
- }
- func (function Function) Contains(value string) func(s string) bool {
- return func (s string) bool {
- return strings.Contains(s, value)
- }
- }
- func main() {
- fmt.Println("hi")
- var a ArrayList
- a.Add("what")
- a.Add("yo")
- a.Add("5")
- var function Function
- k := a.filter(function.Equals("what")).filter(function.Contains("hat"))
- fmt.Println(k .Size())
- }
Add Comment
Please, Sign In to add comment