Giter VIP home page Giter VIP logo

enum's Introduction

Pipelined functions for go slices

Note: yeah, yeah, I know it is not idiomatic.... it was just for fun :)

This code:

  input := []int{1, 2, 3, 4, 5, 6, 7, 8, 9, 10}

  output, ok := enum.
  		Of(input).
  		Filter(func(it int) bool { return it%2 == 0 }).
  		Map(func(it int) int { return it*2 }).
  		Find(func(it int) bool { return it == 12 })

  if ok {
    fmt.Println(*output)
    // 12
  }

... is equivalent to this code:


  input := []int{1, 2, 3, 4, 5, 6, 7, 8, 9, 10}

  input2 := make([]int, 0)
  for i := range input {
    if input[i] % 2 == 0 {
      input2 = append(input2, input[i])
    }
  }

  input3 := make([]int, len(input2))
  for i := range input2 {
    input3[i] = input2[i] * 2
  }

  for i := range input3 {
    if input3[i] == 12 {
       fmt.Println(12)
       // 12
       break
    }
  }
  

enum's People

Contributors

vazquezger avatar germanvazquez-rfk avatar

Watchers

 avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.