Dart学习之基础语法

原文地址:https://www.jianshu.com/p/3d927a7bf020

承接上一篇我们搭建了Dart环境,这一篇我们将学习Dart的基础语法。

                                            

Dart的所有东西都是对象,包括数字,函数等。

它们都继承自Object,默认是都是null(包括数字),所以数字,字符串都可以调用各种方法。

一、Dart中的关键字(56个)

33个保留字(不能使用保留字作为标识符)

关键字 - - -
if superdo switch assert
else in this enum
is throw true break
new try case extends
null typedef catch var
class false void const
final rethrow while continue
finally return with for
default    

内置标志符有:(17个)

关键字 - - -
abstract deferred as dynamic
covariant export external factory
get implements import library
operator part set static
typedef    

Dart2相对于Dart1新增的,支持异步功能的关键字有:(6个)

关键字 - - -
async async* await sync*
yield yield*  

跟java相比,Dart特有的关键字有:(25个)

关键字 - - -
deferred as assert dynamic
sync* async async* in
is await export library
external typedef factory operator
var part const rethrow
covariant set yield get
yield*

二、变量和常量

(一)变量的声明,可以使用 var、Object 或 dynamic 关键字。

创建变量并初始化变量实例:

//Dart语言本质上市动态类型语言,类型是可选的
//可以使用var声明变量,也可以使用类型(比如String)来直接声明变量
//一个变量也可以被赋予不同类型的对象
//但是大多数情况,我们不会去改变一个变量的类型

//字符串赋值的时候,可以使用单引号,也可以使用双引号。
var str = "this is string vlaues.";

变量存储引用。

  1. 使用Object或dynamic关键字
dynamic name = "张三";
调用的变量name包含对String值为“张三” 的对象的引用。
name推断变量的类型是String,但可以通过指定它来更改该类型。

如果对象不限于单一类型(没有明确的类型),请使用Object或dynamic关键字

Object name1 = "小明";
dynamic name2 = "老王";
  1. 显式声明将被推断的类型

比如String,int等。

//可以使用String显示声明字符串类型
String str1 = "dart str";

(二)默认值

未初始化的变量的初始值为null(包括数字),因此数字、字符串都可以调用各种方法,这个我们上面有提到。
//我们先声明一个int类型的变量
int intDefaultValue;
//assert 是语言内置的断言函数,仅在检查模式下有效
//在开发过程中,除非条件为真,否则会引发异常。(断言失败则程序立即终止)
assert(intDefaultValue == null);
//打印结果为null, 说明数字类型初始化值为null
print(intDefaultValue);

(三)Final and const

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

final的顶级或类变量在第一次使用时被初始化。

  1. 被final或者const修饰的变量,变量类型可以省略。

猜你喜欢

转载自blog.csdn.net/lyh1299259684/article/details/80526492