Kotlin String ve String Şablonları (Örneklerle)

Bu makalede, Örnekler yardımıyla Kotlin dizeleri, dizgi şablonları ve yaygın olarak kullanılan birkaç dizi özelliği ve işlevi hakkında bilgi edineceksiniz.

Kotlin Dizesi

Dizeler bir dizi karakterdir. Örneğin "Hello there!", bir dize değişmezidir.

Kotlin'de tüm dizeler Stringsınıfın nesneleridir . Yani, gibi dize değişmezleri "Hello there!"bu sınıfın örnekleri olarak uygulanır.

String değişkeni nasıl oluşturulur?

İşte StringKotlin'de bir değişkeni nasıl tanımlayacağınız . Örneğin,

 val myString = "Merhaba!"

Burada myString bir tür değişkendir String.

Değişken türü bildirebilir Stringve türünü bir ifadede belirtebilir ve değişkeni daha sonra programda başka bir ifadede başlatabilirsiniz .

 val myString: String… myString = "Merhaba"

Bir String'in karakterlerine nasıl erişilir?

Bir dizenin öğelerine (karakterine) erişmek için, indeks erişim operatörü kullanılır. Örneğin,

val myString = "Merhaba!" val öğesi = myString (2)

Burada öğe değişkeni, myString dizesinin üçüncü karakteri olan y'yi içerir. Çünkü Kotlin'de indeksleme 1'den değil 0'dan başlıyor.

val myString = "Merhaba!" var öğe: Karakter öğesi = myString (0) // öğe şunu içerir 'H' öğesi = myString (9) // öğe şunu içerir '!' item = myString (10) // Hata! Dize dizini aralık dışında item = myString (-1) // Hata! Dize dizini aralık dışında

Örnek: Bir Dizede yineleme

Bir dizenin öğelerini yinelemeniz gerekiyorsa, bunu bir for döngüsü kullanarak kolayca yapabilirsiniz.

 fun main(args: Array) ( val myString = "Hey!" for (item in myString) ( println(item) ) )

Programı çalıştırdığınızda, çıktı:

 H e y ! 

Kotlin'deki Dizeler Değiştirilemez

Java gibi, dizeler Kotlin'de de değişmez. Bu, bir dizenin bireysel karakterini değiştiremeyeceğiniz anlamına gelir. Örneğin,

var myString = "Hey!" myString (0) = 'h' // Hata! Teller

Bununla birlikte, değişkeni anahtar sözcük kullanarak bildirdiyseniz, bir dize değişkenini yeniden atayabilirsiniz var. ( Önerilen Okuma : Kotlin var Vs val)

Örnek: Bir Dize Değişkenini Yeniden Atama.

 fun main(args: Array) ( var myString = "Hey!" println("myString = $myString") myString = "Hello!" println("myString = $myString") )

Programı çalıştırdığınızda, çıktı:

myString = Hey! myString = Merhaba!

Dize Değişmezleri

Değişmez bilgi, sabit bir değerin kaynak kodu gösterimidir. Örneğin, "Hey there!"hesaplama gerektirmeden (değişkenler gibi) doğrudan bir programda görünen bir dize değişmezidir.

Kotlin'de iki tür dize değişmezi vardır:

1. Kaçan dize

Çıkış karakterli bir dizenin içinde çıkış karakterleri olabilir. Örneğin,

 val myString = "Merhaba! n" 

Burada, göründüğü metne yeni bir satır ekleyen bir kaçış karakteridir.

Kotlin'de desteklenen kaçış karakterlerinin listesi:

  • - Ekler sekmesi
  •  - Geri boşluğu ekler
  • - Yeni satır ekler
  • - Şaryo dönüşünü ekler
  • \' - Tek tırnak karakteri ekler
  • " - Çift tırnak karakteri ekler
  • \ - Ters eğik çizgi ekler
  • $ - Dolar karakteri ekler

2. Ham Dize

Ham bir dize, yeni satırlar (yeni satır kaçış karakteri değil) ve rastgele metin içerebilir. Ham bir dize, üçlü bir alıntı ile sınırlandırılmıştır """. Örneğin,

 fun main(args: Array) ( val myString = """ for (character in "Hey!") println(character) """ print(myString) )

Programı çalıştırdığınızda, çıktı:

 for ("Hey!" içindeki karakter) println (karakter)

TrimMargin () işlevini kullanarak bir ham dizenin baştaki beyaz boşluklarını kaldırabilirsiniz. Örneğin,

Örnek: Ham Dizeyi Yazdırma

 fun main(args: Array) ( println("Output without using trimMargin function:") val myString = """ |Kotlin is interesting. |Kotlin is sponsored and developed by JetBrains. """ println(myString) println("Output using trimMargin function:") println(myString.trimMargin()) ) 

Programı çalıştırdığınızda, çıktı:

TrimMargin işlevi kullanmadan çıktı: | Kotlin ilginç. | Kotlin, JetBrains tarafından desteklenir ve geliştirilir. TrimMargin fonksiyonunu kullanarak çıktı: Kotlin ilginç. Kotlin, JetBrains tarafından desteklenmekte ve geliştirilmektedir.

Varsayılan olarak, trimMargin()işlev | kenar boşluğu öneki olarak. Ancak, bu işleve yeni bir dizge ileterek bunu değiştirebilirsiniz.

Örnek: trimMargin () ile Bağımsız Değişken

 fun main(args: Array) ( val myString = """ !!! Kotlin is interesting. !!! Kotlin is sponsored and developed by JetBrains. """ println(myString.trimMargin("!!! ")) )

Programı çalıştırdığınızda, çıktı:

Kotlin ilginç. Kotlin, JetBrains tarafından desteklenmekte ve geliştirilmektedir.

Kotlin String Templates

Kotlin has an awesome feature called string templates that allows strings to contain template expressions.

A string template expression starts with a dollar sign $. Here are few examples:

Example: Kotlin String Template

 fun main(args: Array) ( val myInt = 5; val myString = "myInt = $myInt" println(myString) )

When you run the program, the output will be:

 myInt = 5

It is because the expression $myInt (expression starting with $ sign) inside the string is evaluated and concatenated into the string.

Example: String Template With Raw String

 fun main(args: Array) ( val a = 5 val b = 6 val myString = """ |$(if (a> b) a else b) """ println("Larger number is: $(myString.trimMargin())") )

When you run the program, the output will be:

 Larger number is: 6 

Few String Properties and Functions

Since literals in Kotlin are implemented as instances of String class, you can use several methods and properties of this class.

  • length property - returns the length of character sequence of an string.
  • compareTo function - compares this String (object) with the specified object. Returns 0 if the object is equal to the specfied object.
  • get function - returns character at the specified index.
    You can use index access operator instead of get function as index access operator internally calls get function.
  • plus function - returns a new string which is obtained by the concatenation of this string and the string passed to this function.
    You can use + operator instead of plus function as + operator calls plus function under the hood.
  • subSequence Function - returns a new character sequence starting at the specified start and end index.

Example: String Properties and Function

 fun main(args: Array) ( val s1 = "Hey there!" val s2 = "Hey there!" var result: String println("Length of s1 string is $(s1.length).") result = if (s1.compareTo(s2) == 0) "equal" else "not equal" println("Strings s1 and s2 are $result.") // s1.get(2) is equivalent to s1(2) println("Third character is $(s1.get(2)).") result = s1.plus(" How are you?") // result = s1 + " How are you?" println("result = $result") println("Substring is "$(s1.subSequence(4, 7)) "") )

When you run the program, the output is:

S1 dizgisinin uzunluğu 10'dur. S1 ve s2 dizgeleri eşittir. Üçüncü karakter y'dir. sonuç = Merhaba! Nasılsın? Alt dize "the" dir

Uzantı özellikleri, uzantılar, işlevler ve yapıcılar hakkında daha fazla bilgi için Kotlin String sınıfını ziyaret edin.

Ilginç makaleler...