首页 > 其他分享 >无涯教程-Dart - 变量声明

无涯教程-Dart - 变量声明

时间:2023-11-12 12:31:43浏览次数:25  
标签:教程 const 变量 示例 无涯 dart 关键字 Dart final

变量是内存中的命名空间用于存储值。

必须先声明变量,然后才能使用它, Dart使用var关键字实现相同的目的。声明变量的语法如下:

var name='Smith';

dart中的所有变量都存储对值的引用,而不是包含值,名为name的变量包含对值为" Smith"的String对象的引用。

类型语法

Dart通过在变量名称前添加数据类型来支持类型检查,类型检查可确保变量仅保存特定于数据类型的数据。

String name='Smith'; 
int num=10;

考虑以下示例-

void main() { 
   String name=1; 
}

上面的代码段将发出警告,因为分配给变量的值与变量的数据类型不匹配。

Warning: A value of type 'String' cannot be assigned to a variable of type 'int' 

所有未初始化的变量的初始值为null,这是因为Dart会将所有值视为对象 ,以下示例说明了相同的内容-

void main() { 
   int num; 
   print(num); 
}

输出

Null 

dynamic 关键字

没有静态类型声明的变量被隐式声明为动态的,也可以使用dynamic关键字代替var关键字声明变量。

以下示例对此进行了说明。

void main() { 
   dynamic x="learnfk"; 
   print(x);  
}

输出

learnfk

Final 和 Const

final 和 const 关键字用于声明常量, Dart防止修改使用final或const关键字声明的变量的值。

const 关键字用于表示编译时常量,使用 const 关键字声明的变量是隐式最终的。

Final - 语法

final variable_name

OR

final data_type  variable_name

Const - 语法

const variable_name

OR

const data_type variable_name 

Final - 示例

void main() { 
   final val1=12; 
   print(val1); 
}

输出

12 

Const - 示例

void main() { 
   const pi=3.14; 
   const area=pi*12*12; 
   print("The output is ${area}"); 
}

上面的示例使用 const 关键字声明了两个常量 pi 和 area , area 变量的值是一个编译时常量。

The output is 452.15999999999997

注意  -  仅 const 变量可用于计算编译时间常数,编译时常量是其值将在编译时确定的常量

Final&Const - 示例

如果尝试修改使用 final 或const关键字声明的变量,则Dart会引发异常,下面给出的示例说明了相同的内容-

void main() { 
   final v1=12; 
   const v2=13; 
   v2=12; 
}

上面给出的代码将作为输出 抛出以下错误-

Unhandled exception: 
cannot assign to final variable 'v2='.  
NoSuchMethodError: cannot assign to final variable 'v2=' 
#0  NoSuchMethodError._throwNew (dart:core-patch/errors_patch.dart:178) 
#1      main (file: Test.dart:5:3) 
#2    _startIsolate.<anonymous closure> (dart:isolate-patch/isolate_patch.dart:261) 
#3    _RawReceivePortImpl._handleMessage (dart:isolate-patch/isolate_patch.dart:148)

参考链接

https://www.learnfk.com/dart-programming/dart-programming-variables.html

标签:教程,const,变量,示例,无涯,dart,关键字,Dart,final
From: https://blog.51cto.com/u_14033984/8328145

相关文章

  • 无涯教程-Dart - 数据类型
    编程语言的最基本特征之一是它支持的数据类型集。Dart语言支持以下类型-number  数字类型Strings   字符串类型Booleans布尔类型Lists     列表类型Maps    映射类型number数字类型Dart中的数字用于表示数字。Integer   - 整数值表......
  • 无涯教程-Dart - 基本语法
    语法定义了一组编写程序的规则。让我们从传统的"HelloLearnfk"示例开始-main(){print("HelloLearnfk!");}main()  - 函数是Dart中的预定义方法,此方法充当应用程序的入口点,Dart脚本需要main()方法才能执行。 print()  - 是预定义的函数,可将指定的......
  • 无涯教程-批处理 - NET STATISTICS函数
    显示工作站或服务器的网络统计信息。Netstatistics[SERVER/WORKSTATION]NETSTATISTICS-示例NetstatisticsServerServerStatisticsfor\\WIN-50GP30FGO75Statisticssince1/3/20169:16:28PMSessionsaccepted0Sessionstimed-out......
  • C++零基础教程(抽象类和接口)
    (文章目录)前言本篇文章来讲解抽象类和接口的概念,抽象类和接口都需要依靠我们之前讲解的虚函数来实现,那么我们就来看看如何使用虚函数来实现抽象类和接口吧。一、抽象类概念抽象类是一种不能直接实例化(即创建对象)的类,它被用作其他类的基类或接口。抽象类通过声明纯虚函数(没有......
  • 无涯教程-批处理 - NET USE函数
    连接或断开计算机与共享资源的连接,或显示有关连接的信息。NETUSE[devicename|*][\\computername\sharename[\volume][password|*]][/USER:[domainname\]username][/USER:[dotteddomainname\]username][/USER:[username@dotteddomainname][/SMARTCARD][/SAV......
  • 【实用小教程】如何批量导出、备份微信通讯录好友
    6-11对于有微信通讯录备份需求的人来说,要把微信的通讯录联系人的微信号、备注的手机号等信息弄出来,有不少困难,因为微信本身不提供这样的功能,所以如果要一个个抄,是不太现实的。本教程要解决的问题就是微信通讯录备份的问题,速度贼快,原理就是通过分析微信存储在本地的文件,直接从文件里......
  • 无涯教程-批处理 - NET STOP/START函数
    此命令用于停止和启动特定服务。NETSTOP/START-语法Netstop/start[servicename]NETSTOP/START-示例NETSTOPSpooler上面的命令用于停止打印机后台处理程序服务。以下是上述命令的输出。ThePrintSpoolerserviceisstopping.ThePrintSpoolerservicewassto......
  • 无涯教程-批处理 - NET COMPUTER函数
    添加或删除连接到Windows域控制器的计算机。NETCOMPUTER-语法NETCOMPUTER\\computername{/ADD|/DEL}NETCOMPUTER-示例NETCOMPUTER\\dxbtest/ADD上面的命令会将名称为dxbtest的计算机添加到Windows域控制器所在的域中。参考链接https://www.learnfk.com/batch-......
  • 无涯教程-批处理 - NET CONFIG函数
    显示您当前的服务器或工作组设置。NETCONFIG-语法NETCONFIGNETCONFIG-示例NETCONFIG运行上面代码输出Thefollowingrunningservicescanbecontrolled:ServerWorkstationThecommandcompletedsuccessfully.参考链接https://www.learnfk.com/batch-......
  • 无涯教程-批处理 - Copying Registry Keys函数
    通过REGCOPY命令从注册表中复制,请注意,为了从注册表复制值,您需要在系统上具有足够的特权才能在源位置和目标位置上都执行此操作。REGCOPY[\\SourceMachine\][ROOT\]RegKey[\\DestMachine\][ROOT\]RegKey@echooffREGCOPYHKEY_CURRENT_USER\ConsoleHKEY_CURRENT_USER\Co......