Comments (2)
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.
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)
- New func to add error to response
- IntersectBy,DifferenceBy,UnionBy for slice HOT 2
- Why is there no fuction for calculating the mean, such as mean or meanby?
- Add counterpart to ToSlicePtr: FromSlicePtr
- Is there any plan to add support for python's itertools module?
- Proposal: lo.OrElse()
- tree shaking / dead code elimination HOT 2
- Add lo.MapByPtr HOT 3
- Any chance for a typesafe func piping utility in lo?
- Add filterNotNill function HOT 2
- Why Async doesn't close a chan?
- propose: Add First() on slice, empty to return nil HOT 2
- Chunk has memory leak
- Slight performance boost on PickByKeys / OmitByKeys
- Add .Get() to Tuple family as alias for .Unpack() to match samber/mo
- Keys: accept multiple maps (vaargs)
- Cancelable concurrent tasks
- Proposal: considering a new type of Group: a key mapper to a bunch of values, for extend map structure
- Proposal: Use generics for underling types
- propose: Add distinctByKey() on slice,return slince
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
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.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from lo.