رشته ها (Strings)
«رشته (String)» متن است داخل گیومه دوتایی. در «رشته های کاتلین» حروف کنار هم اند. مثل اسم شما یا پیام خوش آمد. کاتلین معمولاً خودش نوع را می فهمد.
شروع سریع با رشته های کاتلین
یک متغیر متنی می سازیم. بعد می توانیم چاپش کنیم.
var greeting = "Hello"
اگر بخواهی، می توانی نوع را صریح بنویسی.
var greeting: String = "Hello"
تعریف بدون مقدار اولیه
بدون مقدار اولیه هم می شود؛ اما باید نوع را بنویسی.
var name: String
name = "John"
println(name)
هشدار: اگر نوع را ننویسی، خطا می گیری.
var name
name = "John"
println(name)
دسترسی به حروف رشته
اندیس از صفر شروع می شود. با براکت به حرف می رسیم.
var txt = "Hello World"
println(txt[0])
println(txt[2])
طول رشته و توابع مهم
هر رشته ویژگی ها و توابعی دارد. طول با length است.
var txt = "ABCDEFGHIJKLMNOPQRSTUVWXYZ"
println("The length of the txt string is: " + txt.length)
حروف را می توانی بزرگ یا کوچک کنی.
var txt = "Hello World"
println(txt.uppercase())
println(txt.lowercase())
مقایسه و جستجو در رشته
برای برابری، از compareTo استفاده کن؛ برابر باشد صفر می دهد.
var txt1 = "Hello World"
var txt2 = "Hello World"
println(txt1.compareTo(txt2))
برای پیدا کردن موقعیت متن، از indexOf کمک بگیر.
var txt = "Please locate where 'locate' occurs!"
println(txt.indexOf("locate"))
گیومه داخل رشته
برای نقل قول داخل رشته، از تک گیومه استفاده کن.
var txt1 = "It's alright"
var txt2 = "That's great"
وصل کردن رشته ها و الگوها
با + می توانی رشته ها را به هم بچسبانی.
var firstName = "John"
var lastName = "Doe"
println(firstName + " " + lastName)
تابع plus() هم همین کار را انجام می دهد.
var firstName = "John "
var lastName = "Doe"
println(firstName.plus(lastName))
اما «قالب رشته ای» تمیزتر است؛ با $ مقدار می آید.
var firstName = "John"
var lastName = "Doe"
println("My name is $firstName $lastName")
گام های تمرین سریع
- یک رشته بساز و چاپ کن.
- یک حرف خاص را با اندیس چاپ کن.
- طول رشته را نشان بده.
- با الگوی رشته ای نام کاملت را چاپ کن.
نکته: برای ادامه، به بولین ها و عملگرها نگاهی بینداز. همچنین صفحه رشته های کاتلین را نشان گذاری کن.
جمع بندی سریع
- رشته متن داخل "" است.
- اندیس از صفر شروع می شود.
- توابع مفید: length، uppercase، lowercase.
- جستجو با indexOf انجام می شود.
- الگوها با $ خواناتر هستند.