عملگر سه تایی یا (ternary operator) دارا سه بخش است یه چیزی شبیه این:
result = cond ? val1 : val2
cond: شرظ مورد نظر
val1: مقداری که اگه شرط درست باشد
val2:مقداری که اگه شرط غلط باشه
ولی همچین سینتکسی تو گو نداریم --
به جایش مجبوریم از if/else استفاده کنیم
x := 2 var res string if x >= 0 { res = "Positive" } else { res = "Negative" } // Why
ولی آیا بهتر می توای این کد زا نوشت ...
در ادامه به چندین روش جایگرین می نگریم
اول به متغیرمون یگی از مقدارها رو می دهیم و اگه شرط درست بود مقدار دیگر را در ان می ریزیم
x := 16 res := "odd" if x%2 == 0 { res = "even" }
شرطمون رو در تابعی (یا متدی) جدا می نویسیم و از آن استفاده می کنیم
func main() { ... x, y := 12, 6 res := less(x, y) ... }
func less(a, b int) int { if a < b { return a } return b }
زبان گو عملگر سه تایی (یا ternary operator) ندارد با این وجود کار های دیگری وجود دارد که آنرا شبیه سازی کنیم.من پیشتر از تابع استفاده می کنم
امیدوارم لذت برده باشیم تشکر ;)