在Dart语言中,用String表示字符串类型,可以用单引号或双引号表示字符串的值,例如,下面声明String类型变量的代码都是正确的。

String s1 = 'hello world';String s2 = "I love you.";var s3 = "Who are you?";

运行使用单引号和双引号表示字符串的好处是如果字符串中包含单引号时,可以使用双引号表示字符串,如果字符串中包含双引号时,可以使用单引号表示字符串。

String ss1 = 'This is an "Apple"';             // 字符串中包含双引号String ss2 = "I've an apple";                  // 字符串中包含单引号

不过还有一种情况,就是字符串中同时包含双引号和单引号,在这种情况下,就需要使用转义符,也就是反斜杠(\)后加双引号或单引号,代码如下:

var s1 = "It's my \"coat\"";        // 反斜杠后面加双引号,可以输出双引号var s2 = 'It\'s my "coat"';         // 反斜杠后面加单引号,可以输出单引号

如果想连接字符串,可以直接使用加号(+),如果连接的字符串都是值,可以省略加号,代码如下:

String s1 = "I ";String s2 = "love ";String s3 = "you.";var ss1 = s1 + s2 + s3;         // 连接字符串var ss2 = "I" " love" " you.";      // 连接字符串(省略加号)

如果字符串的内容比较多,而且像保留输入的格式,可以使用3对单引号或3对双引号将字符串括起来,这样在输出时,就会保留字符串在源代码文件中的格式,包括换行和缩进。代码如下:

var s1 = '''     hello        world     I love you.  ''';var s2 = """       hello        world     I love you.  """;

在有些情况下,我们希望保留字符串的原始内容,即使字符串中有转义符,也会按原始内容输出,要满足这种需求,需要在字符串前面加r,代码如下:

var s = r'hello\nworld';print(s);              // 输出hello\nworld

在Dart语言中并不支持字符串与其他类型的值连接,如果要想让字符串与其他类型的值连接,通常可以使用下面2种方法之一。

  • 将其他类型的值或变量转换为字符串

  • 在字符串中使用$,将其他类型的变量嵌入到字符串中

如果嵌入字符串的是对象中的属性,而不是简单的变量,需要在$后面加一对大括号,将属性括起来,如${obj.name}。

int n = 20;int m = 30;// 下面代码中,将n嵌入到字符串中,将m转换为字符串,然后通过“+”进行连接var value = "n = $n, bitLength = ${n.bitLength} m = " + m.toString();print(value);

本例演示了内建字符串类型更详细的用法。

void main() {  var s1 = 'hello world';  var s2 = "I love you.";  var s3 = "It's your coat.";  var s4 = 'This is your "coat"';  print(s3);  print(s4);  var s5 = "It's my \"coat\"";  print(s5);  // 字符串连接  var s6 = s1 + s2 + s3 ;  print(s6);  var s7 = "hello"  "world";  print(s7);  // 多行字符串  var s8 = '''     hello        world     I love you.  ''';  var s9 = """       hello        world     I love you.  """;  print(s8);  print(s9);  // 原始格式的字符串  var s10 = r'hello\nworld'; // raw string  print(s10);  const n1 = 50;  const n2 = 30;  var sum = n1 + n2;  var mul = n1 * n2;  // 将变量嵌入字符串  var value = "$n1 + $n2 = $sum\n$n1 * $n2 = $mul";  print(value);}

运行结果如图1所示。

图1  字符串类型用法演示对本文感兴趣,可以加李宁老师微信公众号(unitymarvel):

关注  极客起源  公众号,获得更多免费技术视频和文章。

去掉字符串中的单引号和双引号_同时搞定Android和iOS的Dart语言(4):字符串类型...相关推荐

  1. 已解决Python向数据库插入数据的字符串中含有单引号或双引号报错

    已解决Python向数据库插入数据的字符串中含有单引号或双引号报错:(102, b"Incorrect syntax near 'S'.DB-Lib error message 20018, ...

  2. php双引号表示什么,PHP中的单引号和双引号字符串有什么区别?

    PHP中的单引号和双引号字符串有什么区别? 我不是PHP编程的专家,但我有点困惑为什么我在PHP中看到一些代码用单引号放入字符串,有时用双引号. 我只是在.NET或C语言中知道,如果它是单引号,这意味 ...

  3. Php中单引号双引号包含字符串的区别是,PHP中的单引号和双引号字符串有什么区别?...

    回答(11) 2 years ago PHP strings不仅可以用两种方式指定,而且可以用 four 方式指定 . Single quoted strings几乎完全显示事物"as is ...

  4. js拼装html单引号双引号,js、html中的单引号、双引号及其转义使用

    js.html中的单引号.双引号及其转义使用 在js中对相关字符做判断或取值的时候很多情况下都会用到这些. ------ 在一个网页中的按钮,写onclick事件的处理代码,不小心写成如下: IE提示 ...

  5. php中的单引号与双引号详解

    一.引号定义字符串 在Php中,通常一个字符串被定义在一对引号中,如: 'I am a string in single quotes' "I am a string in double q ...

  6. c语言双引号和单引号的区别_Python中的单引号和双引号有什么区别?

    在Python中使用单引号或双引号是没有区别的,都可以用来表示一个字符串.但是这两种通用的表达方式可以避免出错之外,还可以减少转义字符的使用,使程序看起来更清晰. 举两个例子: 1.包含单引号的字符 ...

  7. java中双引号和单引号_Java中的单引号和双引号之间有区别吗?

    问题 Java中的单引号和双引号之间有区别吗? #1 热门回答(126 赞) 对于literalchar使用单引号,对于literalString使用双引号,如下所示: char c = 'a'; S ...

  8. js html 单引号,JS 和 HTML 中的单引号与双引号

    JS中的单引号与双引号 HTML中的单引号与双引号很简单,就是两个字符实体: 显示 描述 实体名称 实体编号 " 双引号.引号 " " ' 单引号.撇号 ' ' x 1 ...

  9. python代码什么时候用单引号_Python 中的单引号和双引号有什么区别?

    在Python当中可以使用单引号,也可以使用双引号,那两者有什么区别吗? 简单来说,在Python中使用单引号或双引号是没有区别的,都可以用来表示一个字符串.但是这两种通用的表达方式,除了可以简化程序 ...

最新文章

  1. 心灵小栈: 镌刻在地下500米的母爱
  2. Spring Boot 内置Tomcat——getServletContext().getRealPath()为临时目录问题解决方案
  3. Xcode9 之 Xcode Server 持续集成
  4. [css] 请举例说明伪元素 (pseudo-elements) 有哪些用途?
  5. python——VS2017开发python与python3.6更新特性
  6. Linux监控命令之==sar
  7. 如何获取LanuchImage
  8. 百度和腾讯之间就差一个好的投资团队
  9. Confluence 6 PostgreSQL 输入你的数据库细节
  10. 扫地机器人欠压检测电路_36v欠压保护电路图大全(六款模拟电路设计原理图详解)...
  11. 实验一 第1关:从自然数中取3个数进行组合之循环算法
  12. 霍尼韦尔为重庆打造智慧口岸提供技术支持
  13. Python-pip 安装与使用
  14. 51智能小车前进后退左右旋转
  15. 几款实用的内网穿透工具,推荐
  16. Java字符串模板替换(模板渲染)
  17. 【每日早报】2019/06/25
  18. PDF应该怎么转换成Excel文档呢?
  19. 3行代码,用Python制作一个整蛊朋友的病毒小程序
  20. 2003.5.15 小民日记--尊卑

热门文章

  1. 工程代码_特征工程学习,19 项实践 Tips!代码已开源!
  2. 90%的程序员都没有完全回答对 Cookie 和 Session 的区别?
  3. Flask框架(1.flask概述,Windows配置 virtualenv虚拟环境步骤和路由以及视图函数的定义)
  4. wxWidgets:wxSplitterWindow概述
  5. BOOST_VMD_ASSERT_IS_TUPLE宏相关的测试程序
  6. boost::system模块实现初始化顺序的测试程序
  7. boost::range_pointer相关的测试程序
  8. boost::mp11::mp_min_element_q相关用法的测试程序
  9. boost::math模块计算因子和二项式系数的测试程序
  10. boost::icl::split_interval_set用法的测试程序