跳到主內容

use_string_buffers

使用字串緩衝區(StringBuffer)而不是 '+' 來組合字串。

描述

#

當在迴圈內部將值連線到字串時,如果沒有使用 StringBuffer 進行連線,分析器會產生此診斷資訊。

示例

#

以下程式碼會產生此診斷資訊,因為字串 result 是在 for 迴圈中透過重複連線計算出來的

dart
String f() {
  var result = '';
  for (int i = 0; i < 10; i++) {
    result += 'a';
  }
  return result;
}

常見修復

#

使用 StringBuffer 計算結果

dart
String f() {
  var buffer = StringBuffer();
  for (int i = 0; i < 10; i++) {
    buffer.write('a');
  }
  return buffer.toString();
}