Strings
String merupakan tipe data yang mirip dengan Char. Ia dapat digunakan untuk menyimpan nilai berupa teks. Perbedaannya, String bisa menampung beberapa karakter di dalamnya.
String direpresentasikan menggunakan tipe String. Nilai yang berada di dalam sebuah variabel dengan tipe data String merupakan kumpulan dari beberapa karakter. Kita bisa mendefinisikan variabel tersebut dengan tanda petik ganda (" ") seperti berikut:
- val textString = "Kotlin"
Pada dasarnya sekumpulan karakter dalam String tersebut berbentuk Array, sehingga kita bisa mendapatkan karakter tunggal dengan mudah. Caranya, manfaatkan indexing seperti berikut:
- fun main() {
- val text = "Kotlin"
- val firstChar = text[0]
- print("First character of $text is $firstChar")
- }
- /*
- output : First character of Kotlin is K
- */
Nilai 0 yang berada pada indexing di atas adalah posisi karakter yang akan diakses. Selain itu, kita juga dapat melakukan iterasi terhadap objek String dengan menggunakan for-loop seperti berikut:
- fun main() {
- val text = "Kotlin"
- for (char in text){
- print("$char ")
- }
- }
- /*
- output : K o t l i n
- */
Kotlin memiliki dua jenis tipe Literal String, yang pertama adalah Escaped String yang memungkinkan kita untuk mengurangi ambiguitas nilai yang berada di dalam sebuah String. Misalnya ketika kita mendefinisikan sebuah String berikut:
- val statement = "Kotlin is Awesome!"
Kemudian kita ingin menambahkan tanda petik ganda di dalam sebuah String seperti berikut:
- val statement = "Kotlin is "Awesome!""
Maka akan terjadi ambiguitas nilai pada variabel statement karena kompiler tidak dapat mengetahui akhir dari baris nilai untuk variabel statement. Untuk mengatasinya, kita bisa melakukan escaped dengan menambahkan karakter backslash (\) sebelum tanda petik ganda seperti berikut:
- val statement = "Kotlin is \"Awesome!\""
Selain \” di atas, terdapat beberapa karakter lain yang dapat digunakan untuk melakukan escaped didalam sebuah String, antara lain:
- \t: menambah tab ke dalam teks.
- \n: membuat baris baru di dalam teks.
- \b: menghapus satu karakter sebelumnya.
- \r: menghapus semua karakter sebelumnya.
- \’: menambah karakter single quote kedalam teks.
- \”: menambah karakter double quote kedalam teks.
- \\: menambah karakter backslash kedalam teks.
Selain itu, kita juga bisa menambahkan sebuah Unicode ke dalam sebuah String seperti berikut:
- fun main() {
- val name = "Unicode test: \u0394"
- print(name)
- }
- /*
- output: Unicode test : Δ
- */
Kedua, adalah Raw String yang memungkinkan kita menuliskan multiline dan arbitrary text. Ketika ingin membuat beberapa baris String biasanya kita melakukan escaped terhadap String dengan memanfaatkan karakter escape \n seperti berikut:
- val line = "Line 1\n" +
- "Line 2\n" +
- "Line 3\n" +
- "Line 4\n"
Dengan Raw String, kita dapat membuatnya dengan cara yang lebih mudah yaitu seperti berikut:
- fun main() {
- val line = """
- Line 1
- Line 2
- Line 3
- Line 4
- """.trimIndent()
- print(line)
- }
- /*
- output:
- Line 1
- Line 2
- Line 3
- Line 4
- */
Pada kode di atas, kita mendefinisikan sebuah Raw String menggunakan triple quote (""" """). Raw String memungkinkan kita untuk membuat beberapa baris String tanpa penggabungan (concatenation) dan penggunaan karakter escaped
Posting Komentar