我试图在飞镖中创建一个方法但是遇到了一堵墙。我在看.toUpperCase();和.toLowerCase();完成了。我想创建的方法是.capitalize();
我想把这个方法称为String hello =“WORLD”.capitalize(); //世界
这是我到目前为止的代码
String capitalize() {
return this.codeUnitAt(0).toUpperCase() + this.substring(1).toLowerCase();
}
运行String时hello =“WORLD”.capitalize();我收到以下错误
[38; 5; 124m [2015-6-4 11:37:13.011]类'String'没有实例方法'大写'。
NoSuchMethodError:找不到方法:'capitalize' 接收者:“世界” 参数:[] [0m
我知道我可以调用像String capitalize(String s) => s[0].toUpperCase() + s.substring(1);
这样的函数但是宁愿保持字符串操作调用相同。
谢谢,我感谢任何帮助:)
您不能像所希望的那样扩展String类。只需使用它:
capitalize("WORLD");
是的,不像JS,你不能只改变Dart中的任何类。您只能扩展它。例如。你可以用MyString
方法创建capitalize
类。但我不认为你想要它。只需使用方法StringUtils.dart
制作一些capitalize
库
由于dart现在比较常见,pub.dartlang.org提供了更多的软件包。
我找到了一个很好的dart包,用于对字符串进行不同的操作它还包含一个大写方法。
https://pub.dartlang.org/packages/basic_utils
只需添加依赖项:
dependencies:
basic_utils: ^1.0.3
用法:
StringUtils.capitalize("helloworld"); // helloworld => Helloworld
它还包含其他有用的方法: