2.变量和数据类型

2.1.变量和常量

变量通俗的说就是可以变化的量,作用就是用来存储数据,你可以把一个变量看作是一个水果篮,里面可以装苹果、梨、香蕉等,常量就是一个固定的值,和变量是相对的,变量可以变化,常量是不可以变化的

1.声明变量

在dart中使用var来声明一个变量,这个和js中声明变量一样

void main() {
var num = 10;
print(num); // 10
}

注意:没有给变量赋值的时候,默认为null

void main() {
var num;
print(num); // null
}

可以使用final关键字声明一个只能被赋值一次的变量

void main() {
final num = 10;
print(num);
// num = 30;
// print(num); // 把这两行注释打开会报错
}

2.常量声明

常量声明需要使用const关键字,这个和es6中的const类似

void main() {
const num = 10;
print(num);
num = 30; // 报错
}

3.final和const的区别

2.2.数据类型

dart中提供的数据类型有以下几种:

1. 数字类型-numbber  2. 字符串类型-string
3. 布尔类型-Boolean 4. 列表-list
5. Map 6. Runes
7、Symbols

1.数字类型(number)

数值型包括整型(int)和浮点型(double),定义变量的时候可以规定类型

void main() {
// num是整型和浮点型的总称, 这个时候变量a里面既可以存整型也可以存浮点型
num a = 20;
print(a);
a = 20.5;
print(a);
}
void main() {
// int表示定义整型,这个时候里面不能存浮点型
int a = 20;
print(a);
a = 20.5; // 报错
print(a);
}
void main() {
double a = 20.5;
print(a);
a = 20; // 没报错
print(a); // 20.0
}

2.字符串类型(String)

定义字符串可以有多种方式,包括单引号、双引号、三引号、原始字符串等

void main() {
// 单引号形式
String str1 = 'hello nodeing!!';
// 双引号形式
String str2 = "hello nodeing!!!";
// 三引号形式,可以创建多行字符串
String str3 = '''
<div>
<h1>hello nodeing!!</h1>
</div>
''';
// 定义原始字符串
String str4 = r'hello \n nodeing!!!';
// 没有使用原始字符串定义
String str5 = 'hello \n nodeing!!!';
print(str1);
print(str2);
print(str3);
print(str4);
print(str5);
}

上面代码中需要注意的是,str5因为没有使用原始字符串定义,所以\n会被当成是回车换行

3.布尔类型(Boolean)

布尔类型非常简单,只有两个值,true和false

void main() {
bool a = true;
bool b = false;
print(a);
print(b);
}

4.list列表

list和js中的数组类似,长得都是一样的

void main() {
// 创建一个list
var lis = [1, 2, 3];
print(lis);
// 通过类的方式创建
var lis2 = new List();
print(lis2);
// 创建一个不可变的列表
var lis3 = const [1, 2, 3];
lis3[0] = 2; // 报错
}

5.Map类型

Map类型就是一些键值对

void main() {
// 创建一个list
var mp = {'name': 'xiaoqiang', 'age': 18};
print(mp);
// 通过类的方式创建
var mp2 = new Map();
print(mp2);
// 创建一个不可变的Map
var mp3 = const {'name': 'xiaosan', 'age': 30};
// 获取值
print(mp3['name']);
mp3['name'] = 'xiaosi'; // 报错
}

螺钉课堂视频课程地址:http://edu.nodeing.com

dart快速入门教程 (2)的更多相关文章

  1. dart快速入门教程 (8)

    9.dart中的库 9.1.自定义库 自定义库我们在前面已经使用过了,把某些功能抽取到一个文件,使用的时候通过import引入即可 9.2.系统内置库 以math库为例: import "d ...

  2. dart快速入门教程 (7.4)

    7.12.多态 多态字面上理解就是多种状态,通俗的说,多态表现为父类定义一个方法不去实现,子类继承这个方法后实现父类的方法,这个方法有多种表现 // import 'person.dart'; voi ...

  3. dart快速入门教程 (7.3)

    7.4.抽离类为单独文件 新建一个文件,单独存放一个类,例如:Person类抽离到person.dart文件中 class Person { final String name; final num ...

  4. dart快速入门教程 (7.2)

    7.4.抽离类为单独文件 新建一个文件,单独存放一个类,例如:Person类抽离到person.dart文件中 class Person { final String name; final num ...

  5. dart快速入门教程 (7.1)

    7.面向对象 dart是一门使用类和单继承的面向对象语言,所有的对象都是类的实例,所有的类都是Object的子类,换句话说就是万物皆对象 7.1.类与对象 void main() { // 注意:ne ...

  6. dart快速入门教程 (1)

    1.环境搭建 1.1.dart简介 Dart 是一种 易于学习. 易于扩展.并且可以部署到 任何地方 的 应用 编程 语言.Google 使用 Dart 来开发 大型应用.flutter使用dart语 ...

  7. dart快速入门教程 (6)

    6.内置操作方法和属性 6.1.数字类型 1.isEven判断是否是偶数 int n = 10; print(n.isEven); // true 2.isOdd判断是否是奇数 int n = 101 ...

  8. dart快速入门教程 (5)

    5.函数 5.1.函数定义 语法: 返回值类型 函数名(参数类型 参数1, 参数类型 参数2,...) { // 函数体 return '返回值' } 举例: void main() { print( ...

  9. dart快速入门教程 (4)

    4.流程控制 4.1.分支结构 1.if语句 void main() { int score = 80; if (score >= 90) { print('优秀'); } else if (s ...

随机推荐

  1. Rocket - diplomacy - MixedNode

    https://mp.weixin.qq.com/s/zgeAI2n-2cHJi7-Ra5rYZA   介绍MixedNode的实现.     1. 类定义   ​​ ​​   2. inner/ou ...

  2. jchdl - GSL实例 - Counter

    https://mp.weixin.qq.com/s/BjQtQE8DfaKP1XwcTiCwVg   ​​ 摘自康华光<电子技术基础 · 数字部分>(第五版)   参考链接 https: ...

  3. 8.0 以上版本 mySQL数据库导致的命令行可连接,NaviCat不可连接的问题

    错误代码: client does not support authentication 原因: 没有开启Mysql的远程连接配置 解决办法: 1 使用命令行进入数据库 C:\Users\wushao ...

  4. ASP.NET使用HttpHandler进行页面静态化(自动生成页面)

    这次的Demo是,一个根页面,点击链接创建子页面,子页面都是一个Template页面进行替换的 一个根页面 <%@ Page Language="C#" AutoEventW ...

  5. Java实现 LeetCode 201 数字范围按位与

    201. 数字范围按位与 给定范围 [m, n],其中 0 <= m <= n <= 2147483647,返回此范围内所有数字的按位与(包含 m, n 两端点). 示例 1: 输入 ...

  6. Java实现花朵数

    一个N位的十进制正整数,如果它的每个位上的数字的N次方的和等于这个数本身,则称其为花朵数. 例如: 当N=3时,153就满足条件,因为 1^3 + 5^3 + 3^3 = 153,这样的数字也被称为水 ...

  7. 数组 & 链表

    数组 是一种线性表数据结构,它用一组连续的内存空间,来存储一组具有相同类型的数据. 使用了连续的内存空间和相同类型的数据,使得它可以“随机访问”,但同时也让数组的删除,插入等操作变得非常低效, 为了保 ...

  8. iOS — 内存分配与分区

    1  RAM ROM RAM:运行内存,不能掉电存储.ROM:存储性内存,可以掉电存储,例如内存卡.Flash.      由于RAM类型不具备掉电存储能力(即一掉电数据消失),所以app程序一般存放 ...

  9. 使用FFT进行频谱分析

    import numpy as np import matplotlib.pyplot as plt from scipy.fftpack import fft fs=100 #采样频率 N=128 ...

  10. JAVA多线程实现的三种方法

    JAVA多线程实现方式主要有三种:继承Thread类.实现Runnable接口.使用ExecutorService.Callable.Future实现有返回结果的多线程.其中前两种方式线程执行完后都没 ...