如何在Flutter/Dart中处理长字符串以使代码干净?

w6lpcovy  于 2023-01-18  发布在  Flutter
关注(0)|答案(3)|浏览(149)

我想知道如何处理长字符串以使代码简洁。代码示例:

Text(
  'Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat. Duis aute irure dolor in reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla pariatur. Excepteur sint occaecat cupidatat non proident, sunt in culpa qui officia deserunt mollit anim id est laborum.',
)

在一行代码中包含这样的字符串是一种好方法吗?这与lines_longer_than_80_chars lint相反。或者最好将其拆分为多行,如:

Text(
  'Lorem ipsum dolor sit amet, consectetur adipiscing '
  'elit, sed do eiusmod tempor incididunt ut labore et '
  'dolore magna aliqua. Ut enim ad minim veniam, quis '
  'nostrud exercitation ullamco laboris nisi ut '
  'aliquip ex ea commodo consequat. Duis aute irure '
  'reprehenderit in voluptate velit esse cillum dolore '
  'eu fugiat nulla pariatur. Excepteur sint occaecat '
  'cupidatat non proident, sunt in culpa qui officia '
  'deserunt mollit anim id est laborum.',
)

这样的拆分是很耗时的,有没有什么方法可以自动地进行拆分,例如使用格式化程序?
也许有更好的办法?

yhxst69z

yhxst69z1#

我认为使用多行撇号是这样的:

var longString = '''
    This is very long text multiline and readable
    it's continuation. qwdoqjdoaqjshdokasaklsjdla
    sdpgksndljkfsndlfksndlfknsldkfnslkd
   ''';

它节省了您的时间。

b1payxdu

b1payxdu2#

如果字符串有那么大,您是否考虑过使用资产?

flutter:
  assets:
    - lipsum.txt
import 'package:flutter/services.dart' show rootBundle;

Future<String> loadAsset() async {
  return await rootBundle.loadString('assets/lipsum.txt');
}
0ejtzxu1

0ejtzxu13#

首先,创建一个Common类,然后创建一个变量来存储此字符串

字符串描述=“Lorem ipsum dolor sit amet,consectetur adipiscing elit,sed do eiusmod tempor incidunt ut labore et dolore magna aliqua.对于最小的诱惑,我们的锻炼ullamco laboris nisi ut aliquip ex ea commodo conquat.你必须忍受痛苦,谴责你的欲望使你痛苦,谴责你的逃亡者nulla pariatur. Excepteur sint occaecat cupidatat non proident,因为有过失,所以官员抛弃了动物。“
在使用时访问类的此变量

相关问题