字串的宣告
宣告字串時,需以雙引號或單引號將字串值前後包夾,例://指定字串資料型別的宣告方式(雙引號 " 包夾 )
String text="This is a string";
//不指定字串資料型別的宣告方式(單引號 ' 包夾 )
var text = 'This is a string';
字串宣告時,在最後的分號出現前,皆會被視為是同一字串值。
例:
var string = 'Single line ''strings ' 'are written '
'using matching single '
'or double quotes.';
print(string);
輸出:
Single line strings are written using matching single or double quotes.
斷行/多行
若要宣告有斷行的字串,可以使用代表斷行的跳脫字元 '\n'。例:
var multiline = "line1\nline2\nline3";
print(multiline);
輸出:
line1
line2
line3
或用連續三個單/雙引號包夾分行的字串值。
例:
var multiline = """line1
line2
line3""";
print(multiline);
輸出:
line1
line2
line3
字串中的引號處理
用單引號包夾的字串中若有單引號,需在字串中的單引號前加上反斜線,或是直接改用雙引號包夾字串。
例:
var text = 'You can\'t change string after created.';
var text = "You can't change string after created.";
用雙引號包夾的字串中若有雙引號,需在字串中的雙引號前加上反斜線,或是直接用單引號包夾字串。
例:
var string = "To programmatically generate a string, you can use \"StringBuffer\".";
var string = 'To programmatically generate a string, you can use "StringBuffer".';
字元的讀取
由於字串是連續的字元儲存在一起的資料區塊,所以可以將字串看成是一連串字元列表的集合,於是可以用索引值的的方式讀取字串中的個別字元,而其有效的索引值是由 0 為始至字串長度值-1為止:例:
//宣告一內有26字母的字串
var alphabets = "ABCDEFGHIJKLMNOPQRSTUVWXYZ";
//以索引值取得個別的字元
print(alphabets[3] + alphabets[0] + alphabets[17] + alphabets[19]);
//最後一個字元的索引值是字串長度值-1
print(alphabets[alphabets.length-1]);
輸出:
DART
Z
字串編碼
Dart 中的字串是以 UTF-16 為編碼,故能相容於全世界所有的語言編碼,對於中文也能有完整的支援囉
var chineseText="Dart 支援 UTF-16編碼,中文也能通";關於 String 還有更多的操作技巧,可以參考 Dart API 中的 <String 類別> 以獲得更多有用的資訊,我也將會在之後的字串衝浪系列文裡,專文討論和 String 類別相關的使用方法。
String 類別
沒有留言:
張貼留言