ویرگول
ورودثبت نام
abbas80
abbas80
خواندن ۱ دقیقه·۳ ماه پیش

عملگر ternary در گو

در این فسمت می حواهیم به عملگر سه تایی (ternary) آشنا بشیم و آنرا در زبان گو پیاده کنیم.



عملگر سه تایی یا (ternary operator) دارا سه بخش است یه چیزی شبیه این:

result = cond ? val1 : val2

cond: شرظ مورد نظر
val1: مقداری که اگه شرط درست باشد
val2:مقداری که اگه شرط غلط باشه

ولی همچین سینتکسی تو گو نداریم --

به جایش مجبوریم از if/else استفاده کنیم


x := 2 var res string if x >= 0 { res = &quotPositive&quot } else { res = &quotNegative&quot } // Why

ولی آیا بهتر می توای این کد زا نوشت ...
در ادامه به چندین روش جایگرین می نگریم


روش اول: متغیر پیش فرض (default value)

اول به متغیرمون یگی از مقدارها رو می دهیم و اگه شرط درست بود مقدار دیگر را در ان می ریزیم

x := 16 res := &quotodd&quot if x%2 == 0 { res = &quoteven&quot }


روش دوم: تعریف تابع جدا (seperate function)

شرطمون رو در تابعی (یا متدی) جدا می نویسیم و از آن استفاده می کنیم

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) ندارد با این وجود کار های دیگری وجود دارد که آنرا شبیه سازی کنیم.من پیشتر از تابع استفاده می کنم

امیدوارم لذت برده باشیم تشکر ;)


گولنگgolangternary operatorعملگرهای مقایسه‌ایزبان گو
شاید از این پست‌ها خوشتان بیاید