Hello world
安装dart的环境就不赘述了,无脑安装就可以了,安装过程中好像需要 梯@@子 (vpn),我装的时候失败好多次,我的 梯@@子 不能用了,准备不装了的时候,莫名其妙的装好了。迷の操作。惯例,一门新的语言必须要传统一下。
main(){
print("hello world");
}
直接就输出了 “hello world”,没有那么多繁杂的语法。
变量类型
定义变量
main(){
var age=24; // 使用var来定义变量,会自动的识别类型
int Age=24; // 直接使用int来定义也可以
age="25"; // (报错)类型检验自动识别类型以后,第一次什么类型之后就是什么类型了
print(age);
}
定义常量
main(){
// 赋值一次后就不能改变了,称之为常量,(感觉我说的就是废话)
final age=23;
const Age=25;
print(Age);
print(age);
}
final与const的区别:final 可以开始不赋值 只能赋一次 ; 而final不仅有const的编译时常量的特性,最重要的它是运行时常量,并且final是惰性初始化,即在运行时第一次使用前才初始化。
main(){
final time=new DateTime.now();
const Time=new DateTime.now(); // 报错
print(time);
}
字符拼接
main(){
String name="kign";
String age= "23";
print(name +":"+ age);
print("${name}+:+${age}");
}
list的定义
main() {
List l1 = ["aaa", "bbb", "ccc"];
print(l1[1]);
List l2 = [
{'age': 12},
{"age": 34}
];
print(l2[0]["age"]);
var l3 = new List<String>();
l3.add("value");
l3.add("page");
print(l3[1]);
}
Map的定义
main() {
Map m1={"name":"张三","age":24,"work":["程序员","外卖员"]};
print(m1["work"]);
var p=new Map();
p["name"]="李四";
p["age"]=23;
p["work"]=["程序员","外卖员"];
print(p["age"]);
}
类型判断
main() {
var age = 25;
if (age is int) { // is关键字
print("int类型数据");
} else {
print("其它类型数据");
}
}
??运算符
判断当前是否为空,为空则为??后的值,不为空则为当前赋值的值
main() {
var a;
var b = a ?? 10;
print(b);
var c = 22;
var d = c ?? 10;
print(d);
}
输出:
10
22
??=运算符
判断当前变量是否为空,为空则将运算符后的数值赋值给当变量
main() {
var a;
a??=23;
print(a);
var b=10;
b??=23;
print(b);
}
输出:
23
10
类型转换
main() {
var a="12";
var b=double.parse(a);
print(b);
var c="13";
print(c.toString());
}
集合循环
list
List myList=['香蕉','苹果','西瓜'];
// 最普通的循环
for(var i=0;i<myList.length;i++){
print(myList[i]);
}
// forEach
for(var item in myList){
print(item);
}
// forEach
myList.forEach((value){
print("$value");
});
// A数组扩大二倍赋值给B数组
List myList=[1,3,4];
List newList=new List();
for(var i=0;i<myList.length;i++){
newList.add(myList[i]*2);
}
print(newList);
// A数组扩大二倍给B数组
List myList=[1,3,4];
var newList=myList.map((value){
return value*2;
});
print(newList.toList());
list内容的判断
// 一
List myList=[1,3,4,5,7,8,9];
var newList=myList.where((value){ // 将数组中大于5的给予一个新数组
return value>5;
});
print(newList.toList());
// 二
List myList=[1,3,4,5,7,8,9];
var f=myList.any((value){ //只要集合里面有满足条件的就返回true
return value>5;
});
print(f);
// 三
List myList=[1,3,4,5,7,8,9];
var f=myList.every((value){ //每一个都满足条件返回true否则返回false
return value>5;
});
print(f);
Set的循环
main() {
var s=new Set();
s.addAll([1,222,333]);
s.forEach((value)=>print(value));
}
Map的循环
main() {
Map person={
"name":"张三",
"age":20
};
person.forEach((key,value){
print("$key---$value");
});
}
请发表评论