Котлин стринг и шаблон (са примерима)

У овом чланку ћете помоћу примера научити о Котлиновим жицама, предлошцима низова и неколико често коришћених својстава и функција низа.

Котлин Стринг

Низови су низ знакова. На пример, "Hello there!"је стринг литерал.

У Котлину су све жице објекти Stringкласе. Значи, стринг литерали као што "Hello there!"су имплементирани као инстанце ове класе.

Како створити променљиву Стринг?

Ево како можете да дефинишете Stringпроменљиву у Котлину. На пример,

 вал миСтринг = "Здраво!"

Овде је миСтринг променљива типа String.

Можете прогласити променљиву типа Stringи одредити њен тип у једном изразу, а променљиву променити у другом изразу касније у програму.

 вал миСтринг: Стринг … миСтринг = "Здраво"

Како приступити ликовима низа?

За приступ елементима (знаку) низа користи се оператор приступа индексу. На пример,

вал миСтринг = "Здраво!" вал ставка = миСтринг (2)

Овде променљива ставке садржи и, трећи знак низа миСтринг. То је зато што индексирање у Котлину почиње од 0, а не од 1.

вал миСтринг = "Здраво!" вар итем: Цхар итем = миСтринг (0) // ставка садржи „Х“ ставку = миСтринг (9) // ставка садржи „!“ итем = миСтринг (10) // Грешка! Индекс низа је изван опсега итем = миСтринг (-1) // Грешка! Индекс низа је изван опсега

Пример: Итерација низом

Ако требате да прелиставате елементе низа, то можете лако учинити помоћу фор петље.

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

Када покренете програм, излаз ће бити:

 H e y ! 

Жице у Котлину су непроменљиве

Као и Јава, низови су у Котлину непроменљиви. То значи да не можете мењати појединачни карактер низа. На пример,

вар миСтринг = "Хеј!" миСтринг (0) = 'х' // Грешка! Жице

Међутим, променљиву низа можете поново доделити ако сте променљиву прогласили помоћу кључне речи var. ( Препоручена литература : Котлин вар Вс вал)

Пример: Поновно додељивање променљиве низа.

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

Када покренете програм, излаз ће бити:

миСтринг = Хеј! миСтринг = Здраво!

Стринг Литералс

Литерал је представљање изворног кода фиксне вредности. На пример, "Hey there!"је стринг литерал који се појављује директно у програму без потребе за израчунавањем (попут променљивих).

Постоје две врсте стринг литерала у Котлину:

1. Побегла струна

Превучени низ је можда у њима пребегао знак. На пример,

 вал миСтринг = "Здраво! н" 

Овде је знак за излаз који убацује нови ред у текст тамо где се појављује.

Ево листе излазних знакова подржаних у Котлину:

  • - Картица Уметања
  •  - Убацује бацкспаце
  • - Убацује нови ред
  • - Умеће повратак кочије
  • \' - Убацује један наводник
  • " - Убацује знак двоструких наводника
  • \ - Убацује косу црту
  • $ - Убацује доларски знак

2. Сирови низ

Необрађени низ може садржати нове редове (не нови знак за цртање) и произвољан текст. Необрађени низ је ограничен троструким наводником """. На пример,

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

Када покренете програм, излаз ће бити:

 за (знак у "Хеј!") принтлн (знак)

Можете да уклоните водеће размаке сировог низа помоћу функције тримМаргин (). На пример,

Пример: Штампање сировог низа

 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()) ) 

Када покренете програм, излаз ће бити:

Излаз без употребе функције тримМаргин: | Котлин је занимљив. | Котлин спонзорише и развија ЈетБраинс. Излаз помоћу функције тримМаргин: Котлин је занимљив. Котлин спонзорише и развија ЈетБраинс.

trimMargin()Функција подразумевано користи | као префикс маргине. Међутим, можете га променити додавањем новог низа овој функцији.

Пример: тримМаргин () са Аргумент

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

Када покренете програм, излаз ће бити:

Котлин је занимљив. Котлин спонзорише и развија ЈетБраинс.

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:

Дужина с1 низа је 10. Жице с1 и с2 су једнаке. Трећи знак је и. резултат = Здраво! Како си? Подниз је "тхе"

Посетите класу Котлин Стринг за више информација о својствима екстензије, екстензији, функцијама и конструкторима.

Занимљиви Чланци...