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

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.

主站蜘蛛池模板: 什邡市| 仙桃市| 肃南| 石棉县| 定安县| 山东| 巴东县| 城步| 英超| 乌审旗| 民县| 武汉市| 泰州市| 龙岩市| 石首市| 资溪县| 凌海市| 大埔县| 桑植县| 南部县| 星子县| 高唐县| 桃园县| 明溪县| 扶风县| 花垣县| 灌南县| 蕲春县| 庆阳市| 且末县| 吉水县| 临海市| 呈贡县| 吴旗县| 白山市| 思南县| 甘孜县| 内丘县| 嘉黎县| 遵义县| 方城县|