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简介 一种 ...
随机推荐
- Linux 命令之 chmod
命令格式 chmod有以下三种格式 chmod [-cfvR] MODE[,MODE]... FILE... chmod [-cfvR] OCTAL-MODE FILE... chmod [-cfvR ...
- 超实用的mysql分库分表策略,轻松解决亿级数据问题
一.分库分表的背景 在数据爆炸的年代,单表数据达到千万级别,甚至过亿的量,都是很常见的情景.这时候再对数据库进行操作就是非常吃力的事情了,select个半天都出不来数据,这时候业务已经难以维系.不得已 ...
- 在SRAM、FLASH中调试代码的配置方法(附详细步骤)
因为STM32的FLASH擦写次数有限(大概为1万次),所以为了延长FLASH的使用时间,我们平时调试时可以选择在SRAM中进行硬件调试.除此之外,SRAM 存储器的写入速度比在内部 FLASH 中要 ...
- 渗透测试-基于白名单执行payload--Pcalua
0x01 Pcalua简介 Windows进程兼容性助理(Program Compatibility Assistant)的一个组件. 说明:Pcalua.exe所在路径已被系统添加PATH环境变量中 ...
- PHP array_udiff_uassoc
1.函数的参数:返回数组的差集.用定义的函数比较键值和值. 2.函数的参数: @params array $array @params array $array1 ... @params callab ...
- 细谈Mysql事务
文章原创于公众号:程序猿周先森.本平台不定时更新,喜欢我的文章,欢迎关注我的微信公众号. 上一篇着重谈到了MySQL锁的概念,里面谈到了事务的概念,其实大部分开发者对于事务肯定不陌生,事务的概念其实就 ...
- markdown数学公式大全
目录 Cmd Markdown 公式指导手册 一.公式使用参考 1.如何插入公式 2.如何输入上下标 3.如何输入括号和分隔符 4.如何输入分数 5.如何输入开方 6.如何输入省略号 7.如何输入矢量 ...
- Spring Boot从零入门1_详述
本文属于原创,转载注明出处,欢迎关注微信小程序`小白AI博客` 微信公众号`小白AI`或者网站 [https://xiaobaiai.net](https://xiaobaiai.net) ![](h ...
- Qt乱码的问题
1.在启动应用程序前加入以下代码: //配置字符编码环境,让应用程序支持中文. QTextCodec *codec = QTextCodec::codecForName("System&qu ...
- 【网络安全】Dos攻击科普文
目录 DOS攻击 什么是DOS攻击 攻击手段分类 具体的攻击方式举例 优秀博客参考 DDOS攻击 DOS攻击 什么是DOS攻击 DOS是Denial of Service的简称,用中文简单翻译就是拒绝 ...