Home Mobile Apa itu Escaped String ? Apa itu Raw String ?

Apa itu Escaped String ? Apa itu Raw String ?

0
  1. Escaped String

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 di dalam sebuah String, antara lain:  

  1. \t: menambah tab ke dalam teks.
  2. \n: membuat baris baru di dalam teks.
  3. \’: menambah karakter single quote kedalam teks.
  4. \”: menambah karakter double quote kedalam teks.
  5. \\: 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: \u00A9”
    print(name)
}

/*
   output: Unicode test : ©
*/

2. Raw String

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.