Code Monkey home page Code Monkey logo

Comments (2)

kerraway avatar kerraway commented on June 2, 2024 1

Thx @ivila, I got your opinion, but you misused the function, you should use func Ternary[T any](condition bool, ifOutput T, elseOutput T) T instead of func If[T any](condition bool, result T) *ifElse[T]. As we all know, golang can't support overloading method.

from lo.

ivila avatar ivila commented on June 2, 2024

Actually, I am surprised by a common package have this function as Java support conditional operator.
In Java we can achieve it by using conditional operator:

int a = b ? c : d;

I think we could just add a conditional operator like function, it could suit more cases, for example, the if function

func If[T](b bool, v1, v2 T) T {
    if b {
        return v1
    }
    return v2
}

And you can use it like

lo.If(err != nil, err, errors.New("result must not less than 0."))

But on my opinion, we should not add either of these functions, as adding too many functions will result in confusing, making users busy in finding suitable functions.
I am a Java user too, I know that Java have an Optional class to handle situation like this(Null situation), I am really tired by those.

from lo.

Related Issues (20)

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.