محمد زارع شیرکوهی
محمد زارع شیرکوهی
خواندن ۳ دقیقه·۳ سال پیش

رشته ها در کاتلین : آموزش کاتلین (قسمت 9)

قبل از هر چیز، اگه به برنامه نویسی اندروید علاقه مندی، من تو سایتم یک دوره آموزش برنامه نویسی اندروید از سطح کاملا مبتدی تا پیشرفته گذاشتم که کاملا رایگان میتونی ازش استفاده کنی، پس به دوره صفر مطلق اندروید یه سر بزن!
رشته ها در کاتلین
رشته ها در کاتلین

سلام دوستان تو این مقاله آموزشی قراره در مورد رشته ها در کاتلین حرف بزنیم، رشته ها در کاتلین بسیار شبیه به جاوا عمل می‌کنن اما توی چندین تا بخش عملکرد بهتری دارن و خیلی ساده‌تر کار ما رو راه می‌ندازن، ادامه این مقاله رو بخون تا قابلیت های جدید رو ببینی

رشته ها در کاتلین

رشته ها در کاتلین مانند هر زبان برنامه نویسی دیگری، برای ذخیره متن ها استفاده می‌شود. یک رشته شامل مجموعه‌ای از کاراکترها است که با دو نماد ” احاطه می‌شوند. در مثال زیر یک رشته در کاتلین را مشاهده می‌کنید:

var myText = &quotHello&quot

برعکس جاوا، نیازی نیست دقیقا مشخص کنید که نوع داده متغیر باید یک رشته باشد زیرا کاتلین به اندازه کافی باهوش است و متوجه می‌شود که پیام hello بالا درون دو عدد ” قرار دارد و قطعا یک رشته است، اما خب دقیقا مانند سایر انواع داده ها درکاتلین که در جلسات قبل گفتیم، اگر به تعریف نوع داده اصرار دارید می‌توانید مانند مثال زیر، نوع داده رشته را مشخص کنید.

var myText: String = &quotHello&quot

نکته: اگر می‌خواهید یک رشته را بدون دادن مقدار به آن ایجاد کنید و بعدا در جای دلخواه مقداری را به آن اختصاص دهید، باید در هنگام تعریف رشته حتما نوع داده آن را ذکر کنید، اگه به مثال زیر دقت کنید ، این نوع پیاده سازی برای رشته ها در کاتلین کاملا غلطه:

var name
name = &quotMohammad&quot
println(name) //خطا

و حالت درست آن مانند مثال زیر می‌باشد:

var name: String
name = &quotMohammad&quot
println(name)

دسترسی به کاراکترهای یک رشته

برای دسترسی به کاراکتر خاصی درون یک رشته میتوان از شماره ایندکس آن استفاده نمود. برای مثال در کد زیر کاراکتر صفرم H و کاراکتر دوم l هستش:

var txt = &quotHello World&quot
println(txt[0]) // first element (H)
println(txt[2]) // third element (l)

دریافت طول رشته

رشته ها در کاتلین، جزء اشیاء هستند که دارای فیلد ها و متد های تعریف شده زیادی هستند که میتوانیم با استفاده از کاراکتر ( . ) به آنها دسترسی داشته باشیم (در پیج اینستاگرام کل مبحث شیء گرایی را از 0 تا 100 آموزش داده ایم) به عنوان مثال طول یک رشته را میتوتنیم از فیلد length دریافت کنیم:

var txt = &quotABCDEFGHIJKLMNOPQRSTUVWXYZ&quot
println(&quotThe length of the txt string is: &quot + txt.length)
//output is : 26

تبدیل تمام حروف به حرف کوچک یا حروف بزرگ

با استفاده از دو متد toUpperCase و toLowerCase می‌توانیم تمامی کاراکتر های یک رشته را به حروف بزرگ و یا حروف کوچک تبدیل کنیم:

var txt = &quotHello World&quot
println(txt.toUpperCase()) // Outputs &quotHELLO WORLD&quot
println(txt.toLowerCase()) // Outputs &quothello world&quot

جمع دو رشته در کاتلین

با استفاده از عملگر + در بین دو رشته میتوان آن دو را باهم ادغام کرد و یک رشته جدید از مجموع دو رشته قبلی ایجاد کرد:

var firstName = &quotMohammad&quot
var lastName = &quotZare&quot
println(firstName + &quot &quot + lastName)

توجه داشته باشید که ما یک متن خالی (” “) برای ایجاد فاصله بین firstName و lastName در چاپ اضافه کرده ایم.

همچنین می توانید از تابع plus() برای به هم پیوستن دو رشته استفاده کنید:

var firstName = &quotMohammad &quot
var lastName = &quotZare&quot
println(firstName.plus(lastName))

تعریف الگو یا Templates برای رشته ها در کاتلین

به جای استفاده از جمع دو رشته که در بالا اشاره کردیم؛ می‌توانیم از الگوهای رشته ای نیز استفاده کنیم که راهی بسیار ساده برای افزودن متغیرها و عبارات دورن یک رشته است، به این مثال دقت کنید:

var firstName = &quotMohammad&quot
var lastName = &quotZare&quot
println(&quotMy name is $firstName $lastName&quot)

فقط کافیست از نماد $ استفاده کنیم، الگوهای رشته ای یکی از ویژگی های محبوب کاتلین نسبت به جاوا است زیرا مقدار کد نویسی را کاهش داده و دردسرهای مربوط به جمع رشته ها را بسیار کم می‌کند.

امیدوارم مطالبی که گفتم براتون مفید بوده باشه، از دیدن پیج اینستاگرام ترولرن غافل نشید، راستی یادتون باشه که همیشه بهترین جا برای یادگیری هر زبان برنامه نویسی، سایت خودش و خوندن داکیومنت های مرجع اون زبان هستش، بعد از خوندن این مقاله می‌تونید برای اطلاعات بیشتر به اینجا مراجعه کنید.

دوست برنامه نویسی من، برای خوندن مقالات تخصصی اندروید، میتونی به سایت ترولرن هم مراجعه کنی


علاقه اصلی من برنامه نویسی اندروید هستش اما نزدیک به یک ساله که وارد دنیای وب و بک اند شدم و عاشق nodejs و mern stack هستم
شاید از این پست‌ها خوشتان بیاید