1、变量声明及命名规则
1、简介
Dart的开始处,是因为我看见了flutter。其实对于一个会 javaScript 和 java 的来说这些都是理所当然的。我学习的时候比较喜欢记笔记所以我记录一些这些东西。
其实如果会一些语言,Dart根本不需要花时间。
2、声明
dart 是一个强大的脚本类语言,可以不预设先定义变量类型,自动会类型推倒
dart 中定义变量可以通过var关键字可以通过类型来申明变量
如:
var str = 'this is var';
String str = 'this is var';
int str = 123
void main() {
var str = '你好dart';
var numx = 1234;
print(str);
print(numx);
String str1 = '你好dart';
print(str);
int numx1 = 123;
print(numx1);
}
定义报错:
var str = '';
str = 1234; //报错 A value of type 'int' can't be assigned to a variable of type 'String'.
print(str);
String str = 12312;//报错 A value of type 'int' can't be assigned to a variable of type 'String'.
3、命名规则
一、Dart命名规则:
1、变量名称必须有数字、字母、下划线和美元符号($)组成
2、注意:标识符开头不能是数字
3、标识符不能是保留字和关键字
4、变量的名字是区分大小写的如:age和Age是不同的变量。在实际的运用中也建议不要用一个
5、标识符(变量名称)一定要见名思意:变量名称建议用名词,方法名称建议用动词
二、Dart常量:final和const修饰符
const 值不变 一开始就得赋值
final 可以开始不赋值但是只能赋值一次;而final不仅仅有const的编译时常量的特性,最重要的它是运行时常量,并且final是惰性初始化,即在运行时第一次使用前才初始化。可以见下面定义时间的例子。
永远不变的量,例如 PI = 3.1415926,请使用final或const修饰它,而不是使用var或其他变量类型
final name = "Bob";
final String strname = "Bobby";
const bar = 1000000;
const double a = 1.123 * bar;
final date1 = new DateTime.now();
const date2 = new DateTime().now();//报错,New expression is not a constant expression.
2、Dart的数据类型
Dart中支持以下数据类型:
一、常用数据类型:
numbers(数值):int、double
String(字符串):String
Booleans(布尔):bool
List(数组):在Dart中,数组是列表对象,所以大多数人只是称它们为列表
Maps(字典):通常来说,Map是一个键值对相关的对象。键和值可以是任何类型的对象。每个 键
1、number类型
int 必须时整型
double 既可以是整型也可以是浮点型
2、String类型
String 定义时 “”“ 单引号定义会保持格式
String str1 = '111';
String str2 = "222";
String str3 = ''' 111
111''';
print(str1);
print(str2);
print(str3);
运行结果:
String字符串的拼接
String str1 = '你好';
String str2 = "Dart";
print("$str1 $str2");
print(str1 + str2);
3、Boolean类型
bool flag = true;
print(flag);
4、List(数组/集合)
var l1 = ['aaa','bbb','ccc'];
print(l1);
print(l1.length);
print(l1[0]);
//输出:
//[aaa, bbb, ccc]
//3
//aaa
var l2 = new List();
l2.add("111");
l2.add("222");
l2.add("333");
print(l2);
//输出:[111, 222, 333]
//定义list指定类型
var l3 = List<String>();
l3.add("111");
l3.add(222);//报错,Error: The argument type 'int' can't be assigned to the parameter type 'String'.
print(l3);
5、Maps(字典)
//key必须加上 " 号
var person = {
"name" : "张三",
"age" : 20,
"like" : ["111","222"]
};
print(person);
//输出:{name: 张三, age: 20, like: [111, 222]}
print(person["name"]);
//输出:张三
var p = new Map();
p["name"] = "张三";
p["age"] = 20;
p["like"] = ["111","222"];
print(p