内置类型

河图的基础类型本身就是 Dart 的对象。因此你可以直接在脚本中传递、修改这些对象,或者使用他们的 api:

  • null
  • bool
  • num
  • int
  • double
  • String
  • Iterable
  • List<dynamic>
  • Set<dynamic>
  • Map<dynamic, dynamic>
  • Function (the Dart function object)

例如,我们可以在脚本中使用 dart 中的 Iterable 上提供的 map 接口:

final result = range(10).map((value) => 'row: ${value}')

注意:

1, 河图中浮点数类型名字使用 float,而不是 double,(实际类型的数值大小会根据平台而定)。

3, 河图中没有提供 Set 和 Map 的字面量写法。你需要通过普通构造函数的形式来创建他们的对象。

4, 河图中创建的 List/Set/Map 的泛型参数在 Dart 中全都是 dynamic 类型。

字符串

河图中的字符串类型名字使用 str,而不是 String。

字符串插值

字面量使用和 Javascript 相同的字符串插值写法。在 '${} 中可以写任何合法的表达式,表达式的值类型可以不是字符串,运行时将自动为其转换。

var a = 'dragon'
// print: To kill the dragon, you have to wait 42 years.
print('To kill the ${a}, you have to wait ${6*7} years.')

多行字符串

河图 0.4.0 版本之后的字符串,默认写法可以支持跨行。

var p = 'PPP'
var m = 'MMM'
final s = '

${
  p
  +
  m
}'
print(s)
print('a
multiline
string
')

和 Dart 的字符串插值的区别在于,即便括号中只有一个标识符,你也不能省略 '{}'。

大整数

河图中默认加入了 Dart 中的大整数类型。使用方法和 Dart 中相同:

final bi = BigInt.parse("9223372036854775807")

Future

参考这个页面

Last Updated:
Contributors: 邵燃