flutter基础语法:字符串
1. 定义
Dart 里 String 是 UTF-16 编码的码点序列。关于码点和编码方式,可以参考go string类型。String 的创建可以通过单引号'
或者双引号"
完成。
var s1 = 'Single quotes work well for string literals.';
var s2 = "Double quotes work just as well.";
var s3 = 'It\'s easy to escape the string delimiter.';
var s4 = "It's even easier to use the other delimiter.";
2. unicode表示
对于很多非字母或者数字的字符,可以使用 unicode 进行表示。例如😂的 unicode 为U+1F602
,它的声明方式如下。
void main() {
String a = "I am \u{1F602}";
print(a);
}
提示
如果字符的 unicode 是4个16进制数,{}
可以去掉。
3. 包含表达式
在 String 内部允许使用${expression}
占位符来表示表达式的计算结果,如果expression
是标识符,则{}
可以省略,例如:
var s = 'string interpolation';
assert('Dart has $s, which is very handy.' ==
'Dart has string interpolation, '
'which is very handy.');
assert('That deserves all caps. '
'${s.toUpperCase()} is very handy!' ==
'That deserves all caps. '
'STRING INTERPOLATION is very handy!');
提示
String 是否相等比较的是两者是否拥有相同的码点序列。
4. raw string
在字符串前面加上r
表示 raw string ,在 raw string 里不会对特殊字符进行解析。例如:换行符\n
。
void main() {
var s = r'In a raw string, not even \n gets special treatment.';
var b = 'In a raw string, not even \n gets special treatment.';
print(s);
print(b);
}