💢 ایجاد توابع ناشناس در
#گولنگ 🩷 توابع ناشناس، همانطور که از نامشان پیداست، توابعی هستند که نام مشخصی ندارن. این توابع مستقیماً به عنوان یک مقدار تعریف و استفاده میشن.
🌟 به جای تعریف یک تابع معمولی، میشه تابعی را در جا تعریف و به یک متغیر یا آرگومان اختصاص داد.
توی گولنگ هم ما توابع ناشناس یا (Anonymous Functions) رو داریم و میتونیم در جاهای که نیاز داریم ازش استفاده کنیم
به کد زیر دقت کنید
// Long form
func add(x, y int) int {
return x + y
}
// Shorthand
add := func(x, y int) int {
return x + y
}
ما در کد بالا یه تابع ناشناس رو تعریف و به متغیر add اختصاص دادیم.
❔ توابع ناشناس چه جاهایی مناسب هستند؟
عملیات کوتاهمدت: برای انجام وظایفی که فقط یک بار استفاده میشن، مثل پردازش دادههای موقت.
بازخوردها (Callbacks): در کدهای غیرهمزمان یا تعاملی، مانند پردازش رویدادها در برنامههای UI یا کار با توابع غیرهمزمان.
ورودی به توابع مرتبه بالا (Higher-order functions): توابعی که دیگر توابع را به عنوان ورودی میگیرند یا خروجی میدهند.
مزیت های توابع ناشناس :
کد مختصرتر: نیاز به تعریف جداگانهی تابع را از بین میبرد.
انعطافپذیری: میتوانید به سرعت توابعی ایجاد کنید که فقط در همان لحظه به آنها نیاز دارید.
کاربرد متمرکز: برای وظایف خاصی که به نامگذاری و استفادهی مجدد نیاز ندارند، ایدهآل است.
یه نمونه دیگه از توابع ناشناس:
numbers := []int{1, 2, 3}
result := make([]int, len(numbers))
for i, num := range numbers {
result[i] = func(x int) int { return x * 2 }(num)
}
⚙️ بصورت کلی توابع ناشناس در زبانهایی مانند Go (و بسیاری زبانهای دیگر مانند JavaScript و Python) ابزاری قدرتمند و مفید برای نوشتن کدهای ساده، خوانا و مؤثر هستند. این ابزار به ویژه برای وظایف موقتی و کدهای کوچک که نیاز به تکرار ندارند، بسیار کاربردی است.
#golang👾 @pishroapp