Dart编程语言从基础到进阶
Dart的语言的发展史以及Dart能做什么未来发展怎么样等等问题我们在这里是不讨论的。我相信既然选择了来学习它,那你内心基本已经认可了它,所以我们废话不多说直接进入主题。

1.首先我们来看一个典型的Dart程序:

//定义了一个输出数字的函数

printThings(int sNumber){

print(‘The result is $sNumber.’);

}

//Dart程序从main()函数开始执行

main(){

var number = 1;//声明并初始化一个变量

printThings(number);//调用我们上面定义的函数

}

  

​ 下面我们来分析解释一下上面的程序:

//定义了一个输出数字的函数

​ 以双斜杠开头的一行语句称为单行注释。另外还有多行注释和文档注释,这个后面再说。

int sNumber

​ int 表示一种数据类型。另外还有一些其他的内置类型这里不讨论。

var number = 1;//声明并初始化一个变量

​ 这里个的 1 表示一个数字字面量。

print(‘The result is $sNumber.’);

​ print();函数是一种比较方便快捷的信息输出函数。

print(‘The result is $sNumber.’);

​ $variableName 表示字符串插值:字符串字面量中包含变量或者表达式。

main(){

}

​ main()函数是一个特殊且必须的顶级函数,Dart程序是从该函数开始执行的。有Java基础的对此应该不陌生。

var number = 1; // 声明并初始化一个变量。

​ var 用来定义变量,一般通过这种方式定义的变量都是不需要指定变量类型的。

​ 通过这一段实例代码,基本上对Dart语言的特性有个简单的了解了。

2.重要概念

​ 在我们学习Dart的过程中,不管是零基础的还是其他语言转过来的,都要牢记下面的几个概念:

​ a.在Dart语言中一切皆对象,所有变量引用的都是对象,每个对象都是一个类的实例,数字、函数包括null都是对象。

​ b.Dart是强类型语言,但是。。。在声明的时候指定类型是可选的,因为Dart可以自己进行类型推断。比如上节中的那个示例,根据number=1推断出来number是int类型。另外如果想显式的指定一个并不确定的类型可以直接使用关键字dynamic.后面可以好好讨论这个问题。

​ c.Dart是支持泛型的。比如List表示一组由任何类型对象组成的列表。

​ d.Dart支持全局函数,同时支持定义属于类或对象的函数,还可以在函数中定义函数。

​ e.Dart支持全局变量,也可以定于属于类或对象的变量。

​ f.Dart没有类似java那样的成员访问限制符关键字, 如果在一个标识符前面加了_(下划线)则表示该标识符在库内是私有的。比如:__myName

​ g.标识符可以以字母或者下划线开头,后面可跟字符或者数字的组合。

​ h.Dart中表达式和语句是有区别的,表达式有值,而语句是没有的。一个语句可以有一个或者多个表达式,但是一个表达式不能只包含一个语句。

​ 这里的重要概念现在不理解不重要,因为单纯拎出来去学的话还是有点难理解的。后面我们边学边理解就会容易很多。现在你只要脑子里有这方面的概念就行了。
更多内容请关注公众号“计算机自学平台”

最新文章

  1. 【HanLP】资料链接汇总
  2. nerual style 执行命令
  3. Visual Studio 2015速递(1)——C#6.0新特性怎么用
  4. Windows环境下面搭建Object C开发环境[转]
  5. Show username instead of "System Account" in SharePoint 2010
  6. C# volatile与lock
  7. centos6.5 apache+tomcat结合 负载均衡
  8. Ubuntu最小化桌面快捷键Super+D不生效解决
  9. linux0.12 学习总序(不断更新状态中)
  10. ssh登录失败处理步骤
  11. [LeetCode]题解(python):142-Linked List Cycle II
  12. 高质量程序设计指南C/C++语言——C++/C常量
  13. 页面导出生成pdf,使用wkhtmltopdf第三方工具
  14. Mysql自增主键ID重新排序方法详解
  15. img之间的间隙问题
  16. MFC中char*,string和CString之间的转换
  17. java中判断是否是一个无用的类
  18. 【1天】黑马程序员27天视频学习笔记【Day02】
  19. 理解Spark的核心RDD
  20. Ubuntu 16.04下vsftpd 安装配置实例

热门文章

  1. 云上的芯脏病:奇怪的阿里云 RDS 数据库突发 CPU 近 100% 问题
  2. POJ 3784 Running Median (模拟水过带翻译)
  3. x509: certificate is valid for 10.96.0.1, 172.18.255.243, not 120.79.23.226
  4. 帝国cms网站管理系统之安全设置最优化分享
  5. 流包装器实现WebShell免杀
  6. shark恒破解笔记1-壳内寻找注册码
  7. g_pLog
  8. Mysql面试题及千万级数据查询优化
  9. ESP8266开发之旅 应用篇② OLED显示天气屏
  10. mac本地安装单机hadoop--学习笔记