Dart
Links
Tipps
- entweder optionale Positionsparameter oder optionale Namensparameter, nicht beide.
String substr(String str, int pos, [int length, bool uppercase]){ ... }
<pre>String substr2(String str, int pos, {int length, bool uppercase, Logger logger}){ ... }
x = substr('Hi world', 3, 2);
y = substr2('Hi world', 3, length:2, logger:logger);
Class
abstract class BaseLogger {
int _errors = 0;
void BaseLogger(){
}
// abstract function:
void log(string message);
void error(string message){
_errors++;
log('+++ ' + message);
}
class Logger extends BaseLogger {
}
...
var logger = Logger('std.log');
Interface
- Jede Klasse kann Interface sein. Dann muss jede Methode überschrieben werden
class D implements A, B, C {
@override
void doIt(){
// ...
}
}
DateTime
var date = new DateTime.now();
String
Formatierung
import 'package:sprintf/sprintf.dart';
sprintf("%02d %s", [1, "Hi"]);
print("${new DateTime.now().toString()}: $message\n");