声明变量
void main(List<String> args) {
// 明确声明
String path = 'args';
// 类型推导(var/final/const)
// 类型推导没有指定类型,但是它也是有类型的
var age = 20;
// age = "foo"
age = 24;
//声明常量
final height = 1.66;
// height = 2.00
//声明常量
// const address = "深圳市"
//final 和 const 区别
//const必须赋值常量(编译时确定好的值)
//final可以通过后续计算/函数获取一个值(运行时确定的值)
final date2 = DateTime.now();
// final 用的更多
// final p1 = Person('1');
// final p2 = Person('1');
// print(identical(p1, p2));
const p1 = Person('1');
const p2 = Person('1');
print(identical(p1, p2));
}
class Person {
final String name;
const Person(this.name);****
}
字符串类型
void main(List<String> args) {
//类型定义
var str1 = 'abc';
var str2 = "abc";
var str3 = """
abc
cba
""";
// 字符串和表达式拼接
var name = "huang";
var age = 19;
var height = 2.00;
//强调:${变量}, 那么 {} 可以省略
var message1 = "name is $name, age is $age, height is $height";
var message2 = "type is ${name.runtimeType}";
print(message1);
print(message2);
}
const uniqueData = Array.from(new Map(data.map(item => [item.categoryName, item])).values());