توی این پست قراره این خبر هارو پوشش بدیم:
*** چون اخبار یکم زیاد بود اینا رو توی دوتا پست منتشر میکنم.
اخیرا jetbrains کاتلین 1.9.0 رو ارائه کرد که با خودش یه سری ویژگی های زبانی و بهبود های برای kotlin multiplatform/native به همراه داشته.
..<: این عملگر برای range گرفتن استفاده میشه ولی با یه شرط که اون محدوده از عدد دوم کوچکتر باشه.
مثلا اگه اینو چاپ کنیم 1..<5 میاد برامون از 1 تا 4 چاپ میکنه.
این property برای enum class هاست و اومده که مشکل متد values رو حل کنه؛ اونم اینکه که شما وقتی میخوای یه لیست از constant های enum کلاس تون داشته باشین، این متد رو call میکنین و این متد به شما یه array جدید از اون constant ها میده- در نتیجه هر بار که call بشه یه array جدید return میکنه و این تو شرایطی میتونه باعث مشکل performance بشه.
حالا این property این مشکل رو حل کرده و به شما یه لیست pre-allocated و immutable از اون constant بهتون میده و دیگه هر بار هم یه لیست جدید برنمی گردونه.
این متد برای دریافت محتوای گروه regex استفاده میشه.
برای مثال، یه regex ایجاد میکنیم :
val regex = """\b(?<city>[A-Za-z\s]+),\s(?<state>[A-Z]{2}):\s(?<areaCode>[0-9]{3})\b""".toRegex()
بعد میتونیم به مقدار گروه ها دسترسی داشته باشیم :
val match = regex.find(input)!! println(match.groups["city"]?.value) // Austin println(match.groups["state"]?.value) // TX println(match.groups["areaCode"]?.value)
این کامپایلر یعنی k2، به گفته jetbrains قراره سرعت compilation رو تا 2 برابر و همچنین سرعت توسعه زبانی کاتلین رو افزایش بده؛ الان فعلا تو حالت beta است ولی میتونین بصورت آزمایشی تستش کنین. K2 توی ورژن 2.0 کاتلین stable میشه!