當前位置: 首頁>>代碼示例 >>用法及示例精選 >>正文


Dart StringBuffer用法及代碼示例


dart:core 庫中StringBuffer 類的用法介紹如下。

用於有效連接字符串的類。

允許使用write*() 方法增量構建字符串。僅當調用 toString 時,字符串才會連接到單個字符串。

例子:

final buffer = StringBuffer('DART');
print(buffer.length); // 4

要將對象的字符串表示形式(由 Object.toString 返回)添加到緩衝區,請使用 write 。也用於直接添加字符串。

buffer.write(' is open source');
print(buffer.length); // 19
print(buffer); // DART is open source

const int dartYear = 2011;
buffer
  ..write(' since ') // Writes a string.
  ..write(dartYear); // Writes an int.
print(buffer); // DART is open source since 2011
print(buffer.length); // 30

要在對象的字符串表示之後添加換行符,請使用 writeln 。不帶參數調用 writeln 會在緩衝區中添加一個換行符。

buffer.writeln(); // Contains "DART is open source since 2011\n".
buffer.writeln('-' * (buffer.length - 1)); // 30 '-'s and a newline.
print(buffer.length); // 62

要將多個對象寫入緩衝區,請使用 writeAll

const separator = '-';
buffer.writeAll(['Dart', 'is', 'fun!'], separator);
print(buffer.length); // 74
print(buffer);
// DART is open source since 2011
// ------------------------------
// Dart-is-fun!

要將 Unicode 代碼點的字符串表示形式 charCode 添加到緩衝區,請使用 writeCharCode

buffer.writeCharCode(0x0A); // LF (line feed)
buffer.writeCharCode(0x44); // 'D'
buffer.writeCharCode(0x61); // 'a'
buffer.writeCharCode(0x72); // 'r'
buffer.writeCharCode(0x74); // 't'
print(buffer.length); // 79

要將內容轉換為單個字符串,請使用 toString

final text = buffer.toString();
print(text);
// DART is open source since 2011
// ------------------------------
// Dart-is-fun!
// Dart

要清除緩衝區以使其可以重複使用,請使用 clear

buffer.clear();
print(buffer.isEmpty); // true
print(buffer.length); // 0
實現的類型

StringSink

相關用法


注:本文由純淨天空篩選整理自dart.dev大神的英文原創作品 StringBuffer class。非經特殊聲明,原始代碼版權歸原作者所有,本譯文未經允許或授權,請勿轉載或複製。