Flutter入门Dart语言:简单易懂的变量指南

Posted 小雨青年

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Flutter入门Dart语言:简单易懂的变量指南相关的知识,希望对你有一定的参考价值。

文章目录

一、概述

“不抱有希望的人生是毫无意义的。” —— 阿卜杜勒·阿齐兹

Dart中的变量是存储值的容器。它们可以是数字、字符串、布尔值或其他数据类型。变量在定义时必须指定类型,或者可以使用类型推断,Dart将根据初始值自动推断变量类型。

二、详解

1. 变量的声明

Dart 中变量的定义和初始化有三种方法:使用 var 关键字,使用数据类型,使用 dynamic 关键字。

  1. 使用 var 关键字定义变量:
var personName = 'John Doe';
var personAge = 25;

上面的代码中,我们使用 var 关键字定义了两个变量 personNamepersonAge,分别存储字符串 ‘John Doe’ 和整数 25。Dart 会根据变量赋的值自动推断出该变量的类型,在这里 personName 为字符串类型,personAge 为整数类型。

请注意,使用 var 关键字定义的变量的类型一旦确定,不能再改变,例如不能将字符串变量 personName 赋值为整数,否则会得到错误提示:

"A value of type ‘int’ can’t be assigned to a variable of type ‘ String '”

  1. 使用数据类型定义变量:
String personName = 'John Doe';
int personAge = 25;


上面的代码中,我们使用数据类型显式定义了两个变量,分别为字符串类型的 personName 和整数类型的 personAge。与使用 var 关键字定义变量类似,Dart 也不允许在之后更改变量的类型。

  1. 使用 dynamic 关键字定义变量:

使用 dynamic 关键字定义变量,表示该变量可以存储任何类型的数据。比如:

dynamic myVar = "Hello World";
myVar = 100; 
myVar = true; 

但是,除非必要,否则不推荐使用 dynamic 类型。因为,这样做会导致代码难以维护,特别是在大型应用程序中。在 Dart 中,默认情况下,会根据存储的数据类型自动推断变量的类型,以使代码易于维护。

2. 常量变量

Dart 中的 final 和 const 两个关键字用于声明常量。

  1. final 关键字声明的变量只能被赋值一次,而且必须在声明时或构造函数中赋值。

例如:

final name = 'John Doe';
name = 'Jane Doe'; // Error: a final variable can only be set once.

  1. const 关键字声明的变量是编译时常量,它的值在编译时就已经确定。它是一种更严格的常量,只能用于声明编译时常量,不能用于声明运行时常量。

例如:

const pi = 3.14;
pi = 3.14159; // Error: a constant variable cannot be changed.

3.late 延迟初始化变量

late 关键字用于标识一个变量为延迟初始化变量。这意味着,变量的值在需要时才会被初始化,而不是在声明时立即初始化。

使用 late 关键字定义一个变量的语法如下:

late MyType myVariable;

例如:

late int x;

void main() 
  x = 10;
  print(x); // 10


因为变量是在需要时才初始化的,所以在使用前必须对其进行初始化,否则会抛出一个错误。

注意:不能对 late 变量使用 finalconst 关键字,因为它们在声明时必须立即初始化。

4. 变量的命名规则

Dart 中变量命名遵循以下规则:

  1. 变量名只能包含字母,数字,下划线和美元符号($)。
  2. 变量名不能以数字开头。
  3. 变量名区分大小写。
  4. 变量名不能与 Dart 中的保留字相同,例如 int、var、dynamic 等。
  5. 使用驼峰命名法,即把每个单词的首字母都大写,比如:firstName、lastName。

三、总结

这次我们学习了如何在Dart中定义变量,建议你结合之前提到的DartPad在线环境中学习掌握。

以上是关于Flutter入门Dart语言:简单易懂的变量指南的主要内容,如果未能解决你的问题,请参考以下文章

Flutter入门Dart语言:函数高级指南

『Flutter开发实战』十分钟入门Dart语言

Flutter学习笔记·初识Dart语言

flutter快速入门

Flutter--实战Dart 语言快速入门

Android Flutter全家桶学习资料(入门指南进阶实战...)