在眾多 Kotlin 的好用功能當中,其中一個我很喜歡也很簡單的功能是稱作 String Templates (字串模板)。
在 Kotlin 中,定義字串是用雙引號(Double quote)來將字串包在其中,例如
如果我們想要將其他的字串與此字串組合在一起,我們可以使用 + 運算子。
使用加號將字串組合起來的時候,IDE 會提示我們轉換成模板的形式。
當我們選擇轉換,就會變成下面的樣子:
到這邊我們可以清楚地知道,在雙引號當中,我們可以使用錢字號 ($) 來把變數直接插入在字串中。
$ 除了可以針對單一變數來插入字串中,還可以用來插入類別中的屬性、函式。
假設有一個類別 RandomNumber,其中有一個屬性:luckyNumber,另一個函式:RandomNumbers():String
如下例所示:
當我們想要列印出該類別的屬性、函式時,我們可以直接用錢字號 $,並用大括弧 { } 將要轉成字串的部分括起來。
7
The random numbers are 1 9.
BTW, 在列印 luckyNumber 時,其實並不需要這麼複雜,我們可以直接把 luckyNumber 帶入 println()
中。這是因為 println
會自動轉型。
Raw String
前面提到,我們使用雙引號定義字串。
假設,有一段文字很長,分了好幾段,我們可以怎麼插入呢?
可以使用三引號 (triple quote) 包起來,如下
利用三引號包起來的文字,利用 print 列印出來的結果,會跟我們在程式碼中呈現的樣子是一樣的,
在哪邊斷句就在哪邊斷句,在哪邊換行就在哪邊換行。
我們同樣可以在 Raw String 中用錢字號插入
小提示,用錢字號 ($) 插入的內容,也可以是一段程式碼。
補充:String.format()
在 Java 中,我們會使用 String.format() 來將字串、數值插入至 String 中。
那麼,在 Kotlin 可以使用 String.format() 嗎?
當然可以,因為 Kotlin 與 Java 是 100% 相容的,原本 Java 能夠使用的項目自然也可以支援。
結論
Kotlin 的字串樣板使我們能夠簡單的使用錢字號來將變數、屬性、函式插入至字串當中。
如果需要與原本字串格式相符的字串,可以使用三引號來定義字串,在三引號中的字串,會忠實的呈現字串原本的樣貌。
最後,雖然目前 Kotlin 沒有提供 String Format ,但是我們仍然可以使用原本 Java 的 java.lang.String.format。
字串是基本型別中,最常使用的其中一種,利用字串樣板,我們就不需要使用 + 運算子來將多個字串相加在一起,只要前後用雙引號或三引號,然後在中間用錢字號插入想要插入的內容即可。
本篇文章如果有幫助到你,請拍手👏鼓勵我吧~ 小祕技:拍手按鈕按著可以連續拍喔。