Skip to content

dart语法应用

Published: at 10:18 AM

声明变量

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());