String——Dart

简介: Dart中的String是一系列的UTF-16的字符单元。

String——Dart

Dart中的String是一系列的UTF-16的字符单元。

1、使用单引号或者双引号均可创建一个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、${expression}

使用 ${expression} 可以在字符串中直接添加表达式的值。

如果表达式是一个标识符,{}还可以省略,直接使用$expression即可。

你可以通过Object#toString()方法,得到对象的string表示。

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!');
Note: == 操作符可以检测两个对象是否相等。对String来说,如果它们拥有相同的字符单元序列,那它们就是相等的。

3、字符串连接

单行字符串

Dart中,单行字符串既可以使用 + 号链接,也可以使用相邻的字符串字面值。如下所示:

var s1 = 'String '
    'concatenation'
    " works even over line breaks.";
assert(s1 ==
    'String concatenation works even over '
    'line breaks.');

var s2 = 'The + operator ' + 'works, as well.';
assert(s2 == 'The + operator works, as well.');
多行字符串

使用三个单引号或者双引号创建多行字符串。

var s1 = '''
You can create
multi-line strings like this one.
''';

var s2 = """This is also a
multi-line string.""";

4、原始字符串—— "raw" string

你可以通过前缀 r 生成一个原始字符串。

var s = r'In a raw string, not even \n gets special treatment.';

如何在String中表示Unicode字符,参见Runes

编译时常量

字符串字面值是编译时常量,前提是任何字符串插入值的类型也是编译时常量,并且是null、数值类型、字符串、布尔类型 之一。

main() {
  // These work in a const string.
  const aConstNull = null;
  const aConstNum = 0;
  const aConstNum1 = 0.1;
  const aConstBool = true;
  const aConstString = 'a constant string';

  const validConstString = '$aConstNull $aConstNum $aConstNum1 $aConstBool $aConstString';

  print('validConstString:$validConstString');


  // These do NOT work in a const string.
  var aNull = null;
  var aNum = 0;
  var aNum1 = 0.1;
  var aBool = true;
  var aString = 'a string';
  const aConstList = [1, 2, 3];

  //下面这行代码编译不通过
//   const invalidConstString = '$aNum $aBool $aString $aConstList';
}

更多信息请参阅:Strings and regular expressions

参考:https://www.dartlang.org/guides/language/language-tour#strings

相关文章
|
6月前
|
存储 安全 API
C++ 17 新特性 C++ String View:了解C++ 17 std::string_view的使用场景
C++ 17 新特性 C++ String View:了解C++ 17 std::string_view的使用场景
271 2
|
1月前
|
存储 安全 开发者
C 标准库 - <string.h>详解
`&lt;string.h&gt;` 是 C 标准库中用于处理字符串的头文件,提供了复制、拼接、比较、查找等操作。常用函数包括 `strcpy`、`strncpy`、`strcat`、`strncat`、`strlen`、`strcmp`、`strncmp`、`strchr` 和 `strstr`。此外,还提供了辅助函数如 `memcpy` 和 `memset`。这些函数帮助开发者有效处理字符串,构建更强大的 C 程序。注意事项包括确保目标数组空间足够、正确处理 null 结束符,并使用安全版本函数减少风险。
121 11
|
5月前
|
存储 缓存 安全
java源码之String详解
java源码之String详解
31 0
|
6月前
|
存储 C++ 索引
string的几种常见使用方法
string的几种常见使用方法
85 0
|
6月前
|
存储 算法 C++
【C++】:string用法详解
【C++】:string用法详解
132 0
C++17新特性之std::string_view
std::string_view系C++17标准发布后新增的内容,类成员变量包含两个部分:字符串指针和字符串长度,相比std::string, std::string_view涵盖了std::string的所有只读接口。如果生成的std::string无需进行修改操作,可以把std::string转换为std::string_view,std::string_view记录了对应的字符串指针和偏移位置,无需管理内存,相对std::string拥有一份字符串拷贝,如字符串查找和拷贝,效率更高。
169 0
C++17新特性之std::string_view
|
C语言 C++
C++ string 基本用法
C++ string 基本用法
|
JavaScript 前端开发
js中 object转为string
在Javascript 中,从excel中获取的数字为Object类型,可以用JSON.stringify(obj)方法将obj转为string类型。
|
C语言 C++
C++中string的用法
⭐一、string的简介 string的中文译为字符串,是C++在C语言中的char字符类型上的延伸。C++中封装有许多关于string的函数可以方便我们完成一些关于字符串的操作。而且string的空间大小是动态变化的,可以减小不必要空间的浪费。
204 0
|
Go
go语言map[string]string 转map[string]interface{}
go语言map[string]string 转map[string]interface{}
732 0