Flutter必备语言Dart教程01 - 变量,类型,函数
Hello World
致敬经典 'Hello World' 程序。
与Java类似,每个Dart程序都必须有一个main作为其入口点。
要运行程序,请将其保存在名为“hello_world.dart”的文件中,并在终端中执行以下命令。(如果没有dart环境,请先完成安装。)
定义变量
就像在JavaScript中一样,您可以使用var关键字来定义变量。
但是!与JavaScript不同,在Dart 2中,一旦分配了类型,就无法将具有新类型的值重新分配给变量。 Dart会自动从右侧推断数据类型。
您还可以通过显式提供数据类型来定义变量。
如果您不打算更改变量所持有的值,则使用final或const声明它。
final 和 const之间的区别在于:
const变量是编译时常量,即const变量在编译期间必须有一个值,例如const PI = 3.14;
虽然final的变量只能分配一次,但它们不需要在编译期间分配,并且可以在运行时分配。也就是说,final的变量可以先不赋值,稍后在其他地方赋值。
内置数据类型
Dart提供了您可以从现代语言中获得的所有基本数据类型。
- Numbers
- Strings
- Booleans
- Lists
- Maps
Lists
声明一个列表非常简单,使用方括号[]可以简单地定义一个列表。以下是列表中的一些常见操作。
如果要定义一个编译时常量的List,即列表内容不可更改,则使用const关键字。
Maps
定义Map同样直截了当。使用花括号{}来定义Map。
您还可以使用Map构造函数定义map。
如果要定义编译时常量的Map,即map的内容不可更改,则使用const关键字。
函数
Dart中的函数尽可能简单,有点类似于javascript。您需要做的就是提供名称,返回类型和参数。
您甚至可以省略返回类型,程序仍然有效。
这是编写单行函数的简便方法。
命名参数
Dart有一个叫做命名参数的东西,当使用命名参数时,你必须在调用函数时指定参数的名称。要启用命名参数,只需使用大括号{}将参数包装在函数中。
如果在使用命名参数调用函数时未提供名称,则程序将崩溃。
默认参数值
您可以为命名参数指定默认值,从而在调用函数时使它们成为可选参数。在下面的示例中,我们为lastName指定了一个默认值。
函数是一等公民
在Dart中,函数非常灵活,例如,你可以在另一个函数中传递一个函数。对于这一点,JavaScript开发者应该很熟悉了。
在这里,我定义了一个名为out的函数,它接受一个参数:一个函数(具有参数message)。然后我定义了一个名为printOutLoud的函数,它所做的就是以大写形式打印一个字符串。
Dart也有匿名函数,所以在上面的例子中,我们可以传递一个匿名函数而不是预定义函数(printOutLoud)。
另一个匿名函数的例子。
系列文章: