官术网_书友最值得收藏!

Concatenating strings

Concatenation can be done in a variety of ways in Dart (refer to the concat_trim_strings file, and download it from www.packtpub.com/support).

How to do it...

Strings can be concatenated as follows:

  String s1 = "Dart", s2 = "Cook", s3 = "Book";
  var res = "Dart" " Cook" "Book";        (1)
  res = "Dart"  " Cook"
              "Book";        (2)
  res = s1 + " " + s2 + s3;        (3)
  res = "$s1 $s2$s3";        (4)
  res = [s1, " ", s2, s3].join();        (5)

  var sb = new StringBuffer();        (6)
  sb.writeAll([s1, " ", s2, s3]);
  res = sb.toString();
  print(res); // Dart CookBook

How it works...

Adjacent string literals are taken together as one string as shown in line (1), even if they are on different lines as shown in line (2). The + operator does the same thing (3), as well as string interpolation (4), which is the preferred way. Still there is another way to add join() to List<String> as shown in line (5). The most efficient way, especially if you want to apply the + operator in a for loop, is to work with StringBuffer as shown in line (6); the concatenation only happens when toString() is called.

Tip

So if you have to glue a large number of strings together, use StringBuffer. Avoid concatenation using +. This will save you memory and will execute the file much faster.

There's more...

The writeAll method can take an optional separator argument, as in sb.writeAll([s1, " ", s2, s3],'-');, resulting in Dart- -Cook-Book.

主站蜘蛛池模板: 安宁市| 黎平县| 阿克陶县| 吐鲁番市| 荣成市| 汉阴县| 亳州市| 贞丰县| 澄迈县| 杭锦后旗| 仙桃市| 盐池县| 陆良县| 泗阳县| 个旧市| 潍坊市| 固安县| 祁连县| 安顺市| 富顺县| 米易县| 通州市| 武邑县| 康乐县| 浦城县| 顺义区| 将乐县| 临颍县| 双江| 隆德县| 紫金县| 车险| 丹凤县| 威信县| 临江市| 泰来县| 龙海市| 宕昌县| 任丘市| 静海县| 民勤县|