Dart语法学习

Dart语法学习 目录

参考资料

语言特性

关键字

变量与常量

数据类型

运算符 operators

控制流程语句

异常 Exceptions

函数 Function

类 Class

类-方法

类-抽象类

类-隐式接口

类-扩展一个类(重写)

库和可见性

异步支持

语言特性 关键字(56个) 关键字---
abstract   do   import   super  
as   dynamic   in   switch  
assert   else   interface   sync  
enum   implements   is   this  
async   export   library   throw  
await   external   mixin   true  
break   extends   new   try  
case   factory   null   typedef  
catch   false   operator   var  
class   final   part   void  
const   finally   rethrow   while  
continue   for   return   with  
covariant   get   set   yield  
default   if   static   deferred  
变量与常量

变量声明与初始化

调用的变量name包含对String值为“张三” 的对象的引用,name推断变量的类型是String,但可以通过指定它来更改该类型,如果对象不限于单一类型(没有明确的类型),请使用Object或dynamic关键字。

// 没有明确类型,编译的时候根据值明确类型 var name = ‘Bob’; Object name = '张三'; dynamic name = '李四'; // 显示声明将被推断类型, 可以使用String显示声明字符串类型 String name = 'Bob' ;

默认值

未初始化的变量的初始值为null(包括数字),因此数字、字符串都可以调用各种方法

//测试 数字类型的初始值是什么? int lineCount; // 为false的时候抛出异常 assert(lineCount == null); print(lineCount); //打印结果为null,证明数字类型初始化值是null

final and const

如果您从未打算更改一个变量,那么使用 final 或 const,不是var,也不是一个类型。 一个 final 变量只能被初始化一次; const变量是一个编译时常量,(Const变量是隐式的final) final的顶级或类变量在第一次使用时被初始化。

被final修饰的顶级变量或类变量在第一次声明的时候就需要初始化。

// The final variable 'outSideFinalName' must be initialized. final String outSideFinalName

被final或者const修饰的变量,变量类型可以省略,建议指定数据类型。

//可以省略String这个类型声明 final name = "Bob"; final String name1 = "张三"; const name2 = "alex"; const String name3 = "李四";

被 final 或 const 修饰的变量无法再去修改其值。

final String outSideFinalName = "Alex"; // outSideFinalName', a final variable, can only be set once // 一个final变量,只能被设置一次。 outSideFinalName = "Bill"; const String outSideName = 'Bill'; // 这样写,编译器提示:Constant variables can't be assigned a value // const常量不能赋值 // outSideName = "小白";

flnal 或者 const 不能和 var 同时使用

// Members can't be declared to be both 'const' and 'var' const var String outSideName = 'Bill'; // Members can't be declared to be both 'final' and 'var' final var String name = 'Lili';

常量如果是类级别的,请使用 static const

内容版权声明:除非注明,否则皆为本站原创文章。

转载注明出处:https://www.heiqu.com/82c011c5fbd719479ecf8402e9575707.html