जैसा कि दूसरों ने उल्लेख किया है, Go
टर्नरी वन-लाइनर्स का समर्थन नहीं करता है। हालांकि, मैंने एक उपयोगिता फ़ंक्शन लिखा है जो आपको जो चाहें प्राप्त करने में मदद कर सकता है।
// IfThenElse evaluates a condition, if true returns the first parameter otherwise the second
func IfThenElse(condition bool, a interface{}, b interface{}) interface{} {
if condition {
return a
}
return b
}
यहां कुछ परीक्षण मामले दिखाए गए हैं कि आप इसका उपयोग कैसे कर सकते हैं
func TestIfThenElse(t *testing.T) {
assert.Equal(t, IfThenElse(1 == 1, "Yes", false), "Yes")
assert.Equal(t, IfThenElse(1 != 1, nil, 1), 1)
assert.Equal(t, IfThenElse(1 < 2, nil, "No"), nil)
}
मनोरंजन के लिए, मैंने और उपयोगी उपयोगिताएँ लिखी हैं जैसे:
IfThen(1 == 1, "Yes") // "Yes"
IfThen(1 != 1, "Woo") // nil
IfThen(1 < 2, "Less") // "Less"
IfThenElse(1 == 1, "Yes", false) // "Yes"
IfThenElse(1 != 1, nil, 1) // 1
IfThenElse(1 < 2, nil, "No") // nil
DefaultIfNil(nil, nil) // nil
DefaultIfNil(nil, "") // ""
DefaultIfNil("A", "B") // "A"
DefaultIfNil(true, "B") // true
DefaultIfNil(1, false) // 1
FirstNonNil(nil, nil) // nil
FirstNonNil(nil, "") // ""
FirstNonNil("A", "B") // "A"
FirstNonNil(true, "B") // true
FirstNonNil(1, false) // 1
FirstNonNil(nil, nil, nil, 10) // 10
FirstNonNil(nil, nil, nil, nil, nil) // nil
FirstNonNil() // nil
यदि आप इनमें से किसी का भी उपयोग करना चाहते हैं, तो आप उन्हें यहां पा सकते हैं https://github.com/shomali11/util