Kotlin stīgu un stīgu veidnes (ar piemēriem)

Š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 Stringklases 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 Stringmainīgo Kotlin. Piemēram,

 val myString = "Hey there!"

Šeit myString ir tipa mainīgais String.

Varat deklarēt tipa mainīgo Stringun 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:

  • - cilne Ievietojumi
  •  - 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 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 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.

Interesanti raksti...