Dart-1

本文介绍了如何下载 Flutter SDK,包括稳定、beta 和 dev 版本获取,以及VSCode中安装 Dark 和 CodeRunner。涵盖Dart语言特性如强类型、变量声明、数据类型、类型判断、运算符、转换和控制结构。还讲解了关键概念如类、列表、字典和类型安全实践。

下載壓縮包:

You can get stable channel releases using the instructions above, or you can get stable, beta, or dev channel releases using a package manager or Dart Docker image, or by downloading the SDK as a zip file.

https://storage.flutter-io.cn/dart-archive/channels/stable/release/2.18.3/sdk/dartsdk-windows-x64-release.zip the Flutter SDK includes the full Dart SDK, and has Dart’s dart command-line interface in its bin folder. 2.vscode 安裝 dark ,code runner

2.dart强類型

var String  int  

會推斷類型 大小寫敏感

 常量  const  值不變,一開始就得賦值  const PI=3.14;

        final 開始可以不賦值,但只能賦值一次

final a=new DateTime.now();

3.數據類型

注释 // /// /* */
int
double即可是整型,也可以是浮点型
String 单引 双印 三个单引或双引,三个可以包含换行
bool :true false
List 数组 :容量可以变化
 不指定类型: var l1=["张三",12,true];    l1.length  l1[0]

 指定类型        var k1=<String>["",""]

  空  var k2=[]   k2.add("张三");   

 修改长度k2.length=3

废弃:var k3=new List();

创建固定长度:
var k3=List.filled(3, “”);//长度,填充内容

var k3=List.filled(3, “”);

Maps字典
 键值对   键必须有引号

第一种:

var k4={

“name”:“张三”,

“age”:22,

“work”:[“程序员”,“外卖员”]

};

print(k4);

print(k4[“age”]);

第二种:

var p=new Map();

p[‘name’]=“礼拜”;

用不到的

Runes utf-32编码,通过文字转换成符号表情,或特定文字

拼接

String s1=“hello”;

String s2=“xiaoming”;

print(“$s1 $s2”); print(s1+" "+s2)

类型判断

var s=456;

if(s is String){

print(“is string”);

}else if(s is int){

print(“is int”);

}else{

print(“其他”);

}

运算符

关系

     ==  !=   <  >  >= <=      逻辑   ! &&  ||

+ - *  /       ~/取整    %取余

赋值:

= ??= 表示如果为空则赋值 a??=10 a如果是空就给10

复合:+= -= *= /= %= ~/=

    var a=10;
     var b=a++;  //先赋值,后运算
print(b);  //b=10
var a=10;
var b=++a;//先运算,后赋值
print(b);  //b=11

条件:

if else if else

switch case: 要有break,否则会穿透,意思就是去无条件执行下一个case

     switch(sex){
  case '男':
         print("nan");break;
  case '女':   print("nv");break;
   default:  print("不知道");break;
}

三目:

bool flag=true;
String s=flag?“我是true”:“我是false”;

??

var a;
var b=a??10;
print(b);

类型转换

1.转数字


```dart
              //string转int 
String str="123";
var myNum=int.parse(str);
print(myNum is int);
//string转double
String str2="123.45";
var myNum2=double.parse(str2);
print(myNum2 is double);

2.异常处理

try {
  var a=double.parse(price);
  print(a);
  
} catch (e) {
  print("错误");
}

3.num转string

var myNum=12;
var str=myNum.toString();
print(str is String);

4 转bool

  1. isEmpty:判断字符串是否为空
var str="";
if(str.isEmpty){
  print("空字符串");
}else{
  print("不是空字符串");
}
2)其他
```dart
var myNum;
if( myNum==null){
  print("空");
}else{
  print("不是空");
}``

3)非法:isNaN

 var myNum=0/0;
print(myNum);
if(myNum.isNaN){
  print('非法');
}

循环

    void  main() {
      int sum=0;
    for(int i=1;i<=100;i++){
      sum+=i;}
print(sum);
}
List list=["李白","杜甫","白居易","王维"];
for(int i=0;i<list.length;i++){
  print(list[i]);
}
// example2 
`List list=[{
"name":"苏州"
},{
"name":"广州"
},{
"name":"杭州"
},{
"name":"梧州"
}];
for(int i=0;i<list.length;i++){
  print(list[i]['name']);
}
//example3
List list=[
{
"cate":"国内",
"news":[
  {"title":"国内新闻1"},
  {"title":"国内新闻2"},
  {"title":"国内新闻3"},
  
  ]
},{"cate":"国际",
"news":[
  {"title":"国际新闻1"},
  {"title":"国际新闻2"},
  {"title":"国际新闻3"},
  ]
}
];
for(int i=0;i<list.length;i++){
  print(list[i]['cate']);
  for(int j=0;j<list[i]["news"].length;j++){
    print(list[i]["news"][j]["title"]);
  }
}

while

int i=1;
int sum=0;
while(i<=100){
sum+=i;
i++;
}
print(sum);
// do while 
int i=1;
int sum=0;
do{
sum+=i;
i++;
}while(i<=100);
print(sum);
}

continue break

for(int i=1;i<10;i++){
    if(i==5){continue;}//跳过当前循环,继续循环
    print(i);
};
for(int i=1;i<10;i++){
    if(i==5){break;}//不再执行循环,只能跳出一层
    print(i);
};
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

i7i8i9com

大家共赴星际梦想

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值