У овом чланку ћете помоћу примера научити о Котлиновим жицама, предлошцима низова и неколико често коришћених својстава и функција низа.
Котлин Стринг
Низови су низ знакова. На пример, "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 ofget
function as index access operator internally callsget
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 ofplus
function as+
operator callsplus
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 су једнаке. Трећи знак је и. резултат = Здраво! Како си? Подниз је "тхе"
Посетите класу Котлин Стринг за више информација о својствима екстензије, екстензији, функцијама и конструкторима.