سر مدیریت خطا تو Go خیلیا یه جای کار گیر میکنن؛ همون if err != nil که بعد از هر خط تکرار میشه و کد رو شلوغ میکنه. اونایی که از زبونهای دیگه مثل Rust یا Scala اومدن، دلشون برای Option و Result و این جور abstractionهای functional تنگ میشه.
ریپو samber/mo دقیقا همینو میاره تو Go، با استفاده از Generics نسخه ۱.۱۸ به بعد. یعنی به جای چک کردن دستی nil یا error، از تایپهایی مثل Option، Result، Either، IO و Task استفاده میکنی که استاندارد برنامهنویسی functional هستن.
اگه دوست داری کدت رو functionalتر و خواناتر بنویسی، این کتابخونه به دردت میخوره. بدون هیچ دیپندنسی خارجی هم هست، فقط استاندارد لایبرری Go.
https://github.com/samber/mo
@DevTwitter
Post #12787
5.72K

- ❤ 18
- 👎 15
- 👍 3