Kotlin karakterlánc sablonok
1. Áttekintés
Ebben az oktatóanyagban elmagyarázzuk, mi Kotlin Húr sablonok és hogyan kell használni őket.
A többi funkció megismerése és a Kotlin használatának megismerése érdekében tekintse meg egyik Kotlin oktatóanyagunkat.
2. Vonósok Kotlinban
Mint a Java-ban, Húrok Kotlinban megváltoztathatatlanok. Ez azt jelenti, hogy nincs módunk megváltoztatni a Húr ha létrejön. Lehet azonban levezetni egy másikat is Húr egy adottból.
Kotlin gazdagította a Java-t Húr osztály további funkcionalitással.
Például a módszer padEnd () lehetővé teszi, hogy formázzuk a Húr, hogy a kifejezés:
"Hello" .padEnd (10, '!')
Ami új húrot állít elő "Helló!!!!!".
3. Karakterlánc-sablonok
A karakterlánc sablonok Húr beágyazott kifejezéseket tartalmazó literálok.
Például ez a Java kód:
Karakterlánc = "n =" + n;
Kotlinban csak:
val üzenet = "n = $ n"
Bármely érvényes Kotlin kifejezés felhasználható a Húr sablon:
val üzenet = "n + 1 = $ {n + 1}"
A Java-val ellentétben Kotlin sok konstrukciója (de természetesen nem minden) kifejezés.
Ezért a Húr a sablon tartalmazhat logikát is:
val message = "$ n is $ {if (n> 0)" pozitív "más" nem pozitív "}
Vegye figyelembe, hogy a göndör zárójelben érvényes Kotlin kifejezés található. Ez az oka annak, hogy nem kerüljük el a beágyazott kettős idézeteket.
Húr a sablonokat a kifejezés kiértékelésével és az a meghívásával oldjuk meg toString () módszer az értékelés eredményére.
Húr sablonok beágyazhatók:
val üzenet = "$ n = $ {if (n> 0)" pozitív "else if (n <0)" negatív és $ {if (n% 2 == 0) "even" else "furcsa"} "else" nulla"}"
A Húr a sablon elemző a legtöbbet beágyazott sablonból kezdi megoldani, kiértékeli és meghívja a toString () módszer rajta.
Bár a Húr a sablonok beágyazódhatnak, célszerű a lehető legegyszerűbbek. Ez egyáltalán nem nehéz, mert Kotlin számos hasznos eszközt biztosít számunkra.
Mi van, ha nyers dollárjelet akarunk használni, és nem az a részeként Húr sablon?
Aztán úgy menekülünk el, hogy egy visszavágót helyezünk elé:
val message = "n = \ $ n"
Ami a dollárjelet követi, az megszokottá válik Húr - már nem értékelik és értelmezik.
4. Nyers húrok
Kotlinban emellett háromszor idézett nyers karakterláncokkal rendelkezünk, amelyek speciális karaktereket tartalmazhatnak, anélkül, hogy el kellene menekülniük tőlük.
A kapott Húr a tripla kettős idézőjel két egymást követő, egymást nem átfedő előfordulása között található “.
Például Java-ban a megfelelő létrehozás érdekében a Húr a Windows-stílusú fájl elérési útját tartalmazza a C: \ Repository \ read.me, így kell meghatároznunk:
Karakterlánc útvonala = "C: \ Tárház \ read.me"
Kotlinban a háromszor idézett jelölést használhatjuk ugyanazon eredmény elérése érdekében:
val path = "" "C: \ Repository \ read.me" ""
Ezt a jelölést felhasználhatjuk egy többsoros vonal létrehozására Húr:
val nyugta = "" "1. tétel: 1,00 USD 2. tétel: 0,50 USD" ""
Ami létrehozza a Húr hogy pontosan két sort ölel át. Ha ezt a behúzást részesítjük előnyben:
val nyugta = "" "1. tétel: $ 1.00> 2. tétel: $ 0.50" "". trimMargin (">")
Használjuk a trimMargin () módszer, amely kiküszöböli az esetleges fehér tereket minden sor elejétől a margó előtag első előfordulásáig (> a fenti példában).
A háromszor idézett karakterláncok nem támogatnak semmilyen menekülési szekvenciát. Ez azt jelenti, hogy ha írtunk
val nyugta = "" "1. tétel: $ 1.00 \ n2. tétel: $ 0.50" ""
kétsoros megszerzése érdekében Húr, egyetlen sort kapnánk a karakterekből \ n a várt sortörés helyett.
Háromszoros idézet Húrok ne támogassa a sablonokat.
Ez azt jelenti, hogy a dollárjellel kezdődő szekvenciák az előző szakaszban leírt módon karakterláncokká válnak. Ezt a tényt felhasználhatjuk a menekülési karakterek működéséhez:
val nyugta = "" "1. tétel: $ 1.00 $ {" \ n "} 2. tétel: $ 0.50" ""
5. Következtetés
Ebben a cikkben a Kotlin nyelv egyik olyan tulajdonságát vettük figyelembe, amely hiányzik a Java-ból - Húr sablonok. Szemléltettük használatukat szokásos és többsoros esetén Húrok.
Az itt említett összes kódrészlet megtalálható a GitHub tárhelyén.