Dart编程语言从基础到进阶1
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中表达式和语句是有区别的,表达式有值,而语句是没有的。一个语句可以有一个或者多个表达式,但是一个表达式不能只包含一个语句。
这里的重要概念现在不理解不重要,因为单纯拎出来去学的话还是有点难理解的。后面我们边学边理解就会容易很多。现在你只要脑子里有这方面的概念就行了。
更多内容请关注公众号“计算机自学平台”
Dart编程语言从基础到进阶1的更多相关文章
- Dart编程语言入门
Dart基础入门语法介绍,详细说明可以查看相关视频<Dart编程语言入门>. 变量与常量 变量 1.使用 var 声明变量,默认值为 null var a;//null a = 10; 2 ...
- jQuery基础---Ajax进阶
原文:jQuery基础---Ajax进阶 内容提纲: 1.加载请求 2.错误处理 3.请求全局事件 4.JSON 和 JSONP 5.jqXHR 对象 发文不易,转载请注明出处! 在 Ajax 基础一 ...
- python基础——面向对象进阶下
python基础--面向对象进阶下 1 __setitem__,__getitem,__delitem__ 把对象操作属性模拟成字典的格式 想对比__getattr__(), __setattr__( ...
- python基础——面向对象进阶
python基础--面向对象进阶 1.isinstance(obj,cls)和issubclass(sub,super) isinstance(obj,cls)检查是否obj是否是类 cls 的对象 ...
- Python基础与进阶
1 Python基础与进阶 欢迎来到Python世界 搭建编程环境 变量 | 字符串 | 注释 | 错误消除 他只用一张图,就把Python中的列表拿下了! 使用 If 语句进行条件测试 使用字典更准 ...
- Atitit.编程语言的基础句型and汉语英文比较
Atitit.编程语言的基础句型and汉语英文比较 1. 编程语言常见的句型1 1.1. Verb(obj)1 1.2. If then else1 1.3. For1 2. 英语中的五种基本句型结 ...
- Git基础及进阶-系统总结
Git基础及进阶-系统总结 by 小强 2019-07-01 考虑到入职后不仅需要熟练掌握git的基本使用,在企业实际操作中还涉及一些进阶指令.作为一个程序员,熟练使用工具是一项基本技能,也是程序员的 ...
- 第4章 基础知识进阶 第4.1节 Python基础概念之迭代、可迭代对象、迭代器
第四章 基础知识进阶第十七节 迭代.可迭代对象.迭代器 一. 引言 本来计划讲完元组和字典后就讲列表解析和字典解析,但要理解列表解析和字典解析,就需要掌握Python的高级的类型迭代器,因此本节 ...
- Linux三剑客之awk精讲(基础与进阶)
第1章 awk基础入门 要弄懂awk程序,必须熟悉了解这个工具的规则.本实战笔记的目的是通过实际案例或面试题带同学们熟练掌握awk在企业中的用法,而不是awk程序的帮助手册. 1.1 awk简介 一种 ...
随机推荐
- HashTable、Dictionary、ConcurrentDictionary三者区别
转载自https://blog.csdn.net/yinghuolsx/article/details/72952857 1.HashTable HashTable表示键/值对的集合.在.NET Fr ...
- Debian更新源加安装Metespolit&&Cobalt Strike
首先更新下源 修改/etc/apt/sources.list文件 再apt-get update deb http://mirrors..com/debian/ stretch main non-fr ...
- [USACO17FEB]Why Did the Cow Cross the Road III S
题目描述 Why did the cow cross the road? Well, one reason is that Farmer John's farm simply has a lot of ...
- nginx::配置https/反向代理
vim /etc/nginx/nginx.conf user nginx; worker_processes ; error_log /var/log/nginx/error.log warn; pi ...
- WPF使用border画框
以前的界面中使用的框大都是由美工做好的,但是这样就遇到几个问题: 框只是换一个颜色,就需要多做出一张图,资源包中也要多一个图片资源: 文字的数量会改变,用一张固定的图进行拉伸,边角处会变得越来越不尽如 ...
- win32API多线程编程
win32线程API 在Windows平台下可以通过Windows的线程库来实现多线程编程. 对于多线程程序可以使用Visual Studio调试工具进行调试,也可以使用多核芯片厂家的线程分析调试工具 ...
- django-VIews之HttpResponse(一)
HttpResponse(content,conent_type=None,status=None,charset=None,*args,**kwargst) content:返回给视图的内容 con ...
- django-URL别名的作用(六)
接include函数那一节. 作用:为url地址取一个名称,这样在html中引用的时候,无论后台url怎么变,都可以访问到对应的界面,可以减少更改的次数. 基本目录: book\urls.py fro ...
- 在SpringBoot中使用flyway进行数据库版本管理
本文大纲 flyway是什么 能帮助我们解决什么问题 springboot环境下使用flyway flyway的工作原理 一.flyway是什么 Flyway是一个开源的数据库版本管理工具,并且极力主 ...
- Android H5混合开发(1):构建Cordova 项目
Cordova是什么 Apache Cordova是一个开源的移动开发框架.允许你用标准的web技术-HTML5,CSS3和JavaScript做跨平台开发. 以移动平台为例,安卓.IOS平台设备的常 ...