寫在前面
本文基本上是將dart官網(wǎng)部分內(nèi)容進(jìn)行翻譯,沒興趣的請出門左轉(zhuǎn)至Dart的官網(wǎng),有興趣的同志請繼續(xù)閱讀本文。
Flutter教程在這里
Runes
在Dart中,Runes是字符串的UTF-32代碼點(diǎn)。
Unicode定義了一系列獨(dú)一無二的數(shù)值,這些數(shù)值可以表示世界各種書寫系統(tǒng)的每一個字母、數(shù)字以及衣符號。 由于Dart字符串是一系列UTF-16代碼單元,因此在字符串中表示32位Unicode值需要特殊語法。
表達(dá)Unicode代碼點(diǎn)的常用方法是\ uXXXX,其中XXXX是4位十六進(jìn)制值。 例如,心臟角色(?)是\ u2665。 要指定多于或少于4個十六進(jìn)制數(shù)字,請將值放在大括號中。 例如,笑的表情符號(??)是\ u {1f600}。
String類有幾個屬性可用于提取符文信息。 codeUnitAt和codeUnit屬性返回16位代碼單元。 使用runes屬性獲取字符串的符文。
以下示例說明了符文,16位代碼單元和32位代碼點(diǎn)之間的關(guān)系。 在此運(yùn)行示例代碼。
注意:使用列表操作操作符文時要小心。因?yàn)檫@種方法很容易失敗,具體取決于特定的語言,字符集和操作。 有關(guān)更多信息,請?jiān)赟tack Overflow上參閱如何在Dart中反轉(zhuǎn)字符串? 。
Symbols
Symbol對象表示在Dart程序中聲明的運(yùn)算符或標(biāo)識符。 您可能永遠(yuǎn)不需要使用符號,但它們對于按名稱引用標(biāo)識符的API非常有用,因?yàn)榭s小會更改標(biāo)識符名稱而不會更改標(biāo)識符符號。
要獲取標(biāo)識符的符號,請使用符號文字,它只是#后跟標(biāo)識符:
#radix
#bar
Symbol 字符是編譯時常量。