Šajā rakstā jūs uzzināsit par Kotlin virknēm, virkņu veidnēm un dažām bieži izmantotajām virkņu īpašībām un funkcijām, izmantojot piemērus.
Kotlina stīga
Stīgas ir rakstzīmju secība. Piemēram, "Hello there!"
ir virknes burtisks.
Kotlīnā visas stīgas ir String
klases priekšmeti . Nozīme, tādi virknes literāļi kā "Hello there!"
tiek ieviesti kā šīs klases gadījumi.
Kā izveidot mainīgo String?
Lūk, kā jūs varat definēt String
mainīgo Kotlin. Piemēram,
val myString = "Hey there!"
Šeit myString ir tipa mainīgais String
.
Varat deklarēt tipa mainīgo String
un norādīt tā tipu vienā priekšrakstā un inicializēt mainīgo citā priekšrakstā vēlāk programmā.
val myString: Stīga … myString = "Howdy"
Kā piekļūt virknes rakstzīmēm?
Lai piekļūtu virknes elementiem (rakstzīmei), tiek izmantots indeksu piekļuves operators. Piemēram,
val myString = "Hey there!" val item = myString (2)
Šeit vienuma mainīgajā ir y, trešā myString virknes rakstzīme. Tas ir tāpēc, ka indeksēšana Kotlīnā sākas no 0, nevis 1.
val myString = "Hey there!" var item: Char item = myString (0) // vienums satur “H” vienumu = myString (9) // vienums satur “!” item = myString (10) // Kļūda! Virknes indekss ir ārpus diapazona vienuma = myString (-1) // Kļūda! Stīgu indekss ir ārpus diapazona
Piemērs: atkārtot caur virkni
Ja jums ir nepieciešams atkārtot virknes elementus, to var viegli izdarīt, izmantojot for loop.
fun main(args: Array) ( val myString = "Hey!" for (item in myString) ( println(item) ) )
Palaidot programmu, izeja būs:
H e y !
Stīgas Kotlinā ir nemainīgas
Tāpat kā Java, arī Kotlīnā stīgas ir nemainīgas. Tas nozīmē, ka jūs nevarat mainīt virknes individuālo raksturu. Piemēram,
var myString = "Hei!" myString (0) = 'h' // Kļūda! Stīgas
Tomēr varat atkārtoti piešķirt virknes mainīgo, ja mainīgo mainījāt, izmantojot atslēgvārdu var
. ( Ieteicams lasīt : Kotlin var Vs val)
Piemērs: virknes mainīgā atkārtota piešķiršana.
fun main(args: Array) ( var myString = "Hey!" println("myString = $myString") myString = "Hello!" println("myString = $myString") )
Palaidot programmu, izeja būs:
myString = Hei! myString = Sveiki!
Stīgu literāļi
Burtnieks ir fiksētas vērtības pirmkods. Piemēram, "Hey there!"
ir virknes literāls, kas parādās tieši programmā, neprasot aprēķinu (piemēram, mainīgos).
Kotlīnā ir divu veidu stīgu literāļi:
1. Izbēgta virkne
Izbēgta virkne, iespējams, tajās ir aizbēgusi no rakstzīmēm. Piemēram,
val myString = "Sveiki! n"
Šeit ir izbēgšanas raksturs, kas ievieto jaunu rindiņu tekstā, kur tas parādās.
Šeit ir Kotlinā atbalstīto aizbēgšanas rakstzīmju saraksts:
- Ievieto atpakaļatkāpes taustiņu
- Ievieto jauno līniju
- Ievieto ratiņu atgriešanos
\'
- ievieto vienas pēdiņas rakstzīmi"
- Ievieto dubultās pēdiņas rakstzīmi\
- Ievieto slīpsvītru$
- Ievieto dolāra rakstzīmi
2. Neapstrādāta stīga
Neapstrādāta virkne var saturēt jaunas rindas (nevis jaunu rindas aizbēgšanas rakstzīmi) un patvaļīgu tekstu. Neapstrādāta virkne ir norobežota ar trīskāršu citātu """
. Piemēram,
fun main(args: Array) ( val myString = """ for (character in "Hey!") println(character) """ print(myString) )
Palaidot programmu, izeja būs:
par (raksturs "Hei!") Println (raksturs)
Izmantojot funkciju trimMargin (), jūs varat noņemt neapstrādātas virknes vadošās atstarpes. Piemēram,
Piemērs: Neapstrādātu virkņu drukāšana
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()) )
Palaidot programmu, izeja būs:
Rezultāts, neizmantojot trimMargin funkciju: | Kotlin ir interesants. | Kotlin sponsorē un izstrādā JetBrains. Rezultāts, izmantojot funkciju trimMargin: Kotlins ir interesants. Kotlin sponsorē un izstrādā JetBrains.
Pēc noklusējuma trimMargin()
funkcija izmanto | kā piemales prefiksu. Tomēr to var mainīt, nododot šai funkcijai jaunu virkni.
Piemērs: trimMargin () ar argumentu
fun main(args: Array) ( val myString = """ !!! Kotlin is interesting. !!! Kotlin is sponsored and developed by JetBrains. """ println(myString.trimMargin("!!! ")) )
Palaidot programmu, izeja būs:
Kotlins ir interesants. Kotlin sponsorē un izstrādā JetBrains.
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:
S1 virknes garums ir 10. Stīgas s1 un s2 ir vienādas. Trešais raksturs ir y. rezultāts = Hey there! Kā tev iet? Apakšzīme ir "the"
Apmeklējiet Kotlin stīgu klasi, lai iegūtu vairāk informācijas par paplašinājumu īpašībām, paplašinājumiem, funkcijām un konstruktoriem.