}
List getEvenNumbers(Iterable numbers) {
var evenNumbers = [];
// A for-in loop.
for (var i in numbers) {
// A single-line if statement.
if (isEven(i)) evenNumbers.add(i);
}
return evenNumbers;
}
main() {
var numbers = List.generate(10, (i) => i);
print(numbers);
print(getEvenNumbers(numbers));
}
I/flutter ( 8682): \[0, 1, 2, 3, 4, 5, 6, 7, 8, 9\]
I/flutter ( 8682): \[0, 2, 4, 6, 8\]
4\. Strings
main() {
print(‘a single quoted string’);
print(“a double quoted string”);
// Strings can be combined with the + operator.
print(“cat” + “dog”);
// Triple quotes define a multi-line string.
print(‘’'triple quoted strings
are for multiple lines’‘’);
// Dart supports string interpolation.
var pi = 3.14;
print(‘pi is $pi’);
print(‘tau is ${2 * pi}’);
}
I/flutter ( 8682): a single quoted string
I/flutter ( 8682): a double quoted string
I/flutter ( 8682): catdog
I/flutter ( 8682): triple quoted strings
I/flutter ( 8682): are for multiple lines
I/flutter ( 8682): pi is 3.14
I/flutter ( 8682): tau is 6.28
5\. Collection literals
// A list literal.
var lostNumbers = [4, 8, 15, 16, 23, 42];
// A map literal.
var nobleGases = {
‘He’: ‘Helium’,
‘Ne’: ‘Neon’,
‘Ar’: ‘Argon’,
};
// A set literal.
var frogs = {
‘Tree’,
‘Poison dart’,
‘Glass’,
};
main() {
print(lostNumbers.last);
print(nobleGases[‘Ne’]);
print(frogs.difference({‘Poison dart’}));
}
I/flutter ( 8682): 42
I/flutter ( 8682): Neon
I/flutter ( 8682): {Tree, Glass}
6\. Classes
// Abstract classes can’t be instantiated.
abstract class Item {
use();
}
// Classes can implement other classes.
class Chest implements Item {
List contents;
// Constructors can assign arguments to instance variables using this
.
Chest(this.contents);
use() => print(“$this has ${contents.length} items.”);
}
class Sword implements Item {
int damage = 5;
use() => print(“$this dealt $damage damage.”);
}
// Classes can extend other classes.
class DiamondSword extends Sword {
int damage = 50;
}
main() {
// The ‘new’ keyword is optional.
var chest = Chest([
DiamondSword(),
Sword(),
]);
chest.use();
for (var item in chest.contents) {
item.use();
}
}
I/flutter ( 8682): Instance of 'Chest<Item>' has 2 items.
I/flutter ( 8682): Instance of 'DiamondSword' dealt 50 damage.
I/flutter ( 8682): Instance of 'Sword' dealt 5 damage.
7\. Computer Pi (暂不深究)
import ‘dart:math’ show Random;
main() async {
print(‘Compute π using the Monte Carlo method.’);
await for (var estimate in computePi().take(100)) {
print('π ≅ $estimate');
}
}
/// Generates a stream of increasingly accurate estimates of π.
写在最后
由于本文罗列的知识点是根据我自身总结出来的,并且由于本人水平有限,无法全部提及,欢迎大神们能补充~
将来我会对上面的知识点一个一个深入学习,也希望有童鞋跟我一起学习,一起进阶。
提升架构认知不是一蹴而就的,它离不开刻意学习和思考。
**这里,笔者分享一份从架构哲学的层面来剖析的视频及资料分享给大家,**梳理了多年的架构经验,筹备近1个月最新录制的,相信这份视频能给你带来不一样的启发、收获。
最近还在整理并复习一些Android基础知识点,有问题希望大家够指出,谢谢。
希望读到这的您能转发分享和关注一下我,以后还会更新技术干货,谢谢您的支持!
转发+点赞+关注,第一时间获取最新知识点
Android架构师之路很漫长,一起共勉吧!
网上学习资料一大堆,但如果学到的知识不成体系,遇到问题时只是浅尝辄止,不再深入研究,那么很难做到真正的技术提升。
一个人可以走的很快,但一群人才能走的更远!不论你是正从事IT行业的老鸟或是对IT行业感兴趣的新人,都欢迎加入我们的的圈子(技术交流、学习资源、职场吐槽、大厂内推、面试辅导),让我们一起学习成长!
注一下我,以后还会更新技术干货,谢谢您的支持!
转发+点赞+关注,第一时间获取最新知识点
Android架构师之路很漫长,一起共勉吧!
网上学习资料一大堆,但如果学到的知识不成体系,遇到问题时只是浅尝辄止,不再深入研究,那么很难做到真正的技术提升。
一个人可以走的很快,但一群人才能走的更远!不论你是正从事IT行业的老鸟或是对IT行业感兴趣的新人,都欢迎加入我们的的圈子(技术交流、学习资源、职场吐槽、大厂内推、面试辅导),让我们一起学习成长!