Dart语言基础,Dart 基础

顺心 等级 600 0 0
  1. Dart 的main方法有两种声明方式
// 第一种声明方式
main(){
  print("hello world");  //打印
};
// 第二种声明方式.如果有学过typeScript或其它语言的同学都明白下面代码的意思,这个方法是有没返回值的。
void main (){
print("hello world");
}; 
  1. 注释
// 这个是一个单行注释
/*
这是个多行注释
*/
/// 这也是注释 
  1. 变量的声明 、命名规则、数组类型

Dart是一个强大的脚本类语言,可以不预先定义类型,自动会类型推断
Dart 中定义变量也可以使用var关键字来声明
Dart 变量命名规则:
1.变量名称必须由数字、字母、下划线和美元符($)组成
2.注意:标识符开头不能是数字
3.标识符不能是保留字或关键字
4.变量的名字是区分大小写如:age和Age是不同的变量,在实际的项目中不建议这样使用
5.变量名一定要见名思意:变量名称建议用名词,方法名称建议用动词

Dart中常用数据类型:

String (字符串);
数值类型
Int (整数)
double (浮点数)
List (集合/数组)在Dart中,数组是列表对象,所以大多数同学都是称它为列表
Booleans(布尔)
Maps(字典/跟js的object相似) 通常来说,Map 是一个键值对关的对象,键和值可以任何类型的对象,每个键只

main() {
var str = "我是字符串1"; // 自动会类型推断
String as1 = "我是字符串as1"; // 定义g一个字符串
int numbers = 10; // 定义g一个整数
double floating=10.1; // 定义g一个浮点数
bool flag= true;   // 值 true / false
var l1=['aaa','bbbb','ccccc']; // 第一种定义List的方式
var l2=new List(); // 第二种定义List的方式
var l3 = new List<String>(); //  指定类型声明
print(l1[0]); // 访问l1的第0个值

l2.add('qi');  // 向l2里添加值
l2.add('ying');  // 向l2里添加值
l2.add('cong'); // 向l2里添加值

var person={ // 第一种定义Map的方式
"name":"qiyingcong",
"age":21
};

var p = new Map(); // 第二种定义Map的方式
p["name"] = "qi"; // 赋值
print(person["name"]); // 访问name

// is 关键词判断数据类型
print(str is String);

int subTot = str; // 这样会报错,因为string类型不直接赋值给int类型

print(str);
print(as1);
print(numbers);
print(floating);
print(flag);
} 

List里面常用的属性和方法:
常用属性:
length 长度
reversed 翻转
isEmpty 是否为空
isNotEmpty 是否不为空
常用方法:
add 增加
addAll 拼接数组
indexOf 查找 传入具体值
remove 删除 传入具体值
removeAt 删除 传入索引值
fillRange 修改
insert(indexer,value) 指定位置插入
inserAll(index,list) 指定位置插入List
toList() 其它类型转换成List
join() List转换成字符串
split() 字符串转化为List
forEach
map
where
any
every

不常用数据类型:

Runes 、Symbols

Runes 是UTF-32编码的字符串,它可以通过文字转换成符号表情或代表特定的文字。
前面咱们了解到String类型是UTF-16编码的,所以Rune是一种特殊的字符串,有自己相对独有的声明方式。我们不做详细介绍,简单按照官网的代码,演示一下。

main() {
  var clapping = '\u{1f44f}';
  print(clapping);
  print(clapping.codeUnits);
  print(clapping.runes.toList());

  Runes input = new Runes('\u2665  \u{1f605}  \u{1f60e}  \u{1f47b}  \u{1f596}  \u{1f44d}');
  print(new String.fromCharCodes(input));
} 

运行结果:

Dart语言基础,Dart 基础

image.png

Symbol对象表示在Dart程序中声明的运算符或标识符。您可能永远不需要使用符号,但它们对于按名称引用标识符的API非常有用,因为缩小会更改标识符名称而不会更改标识符符号。要获取标识符的符号,请使用符号文字,它只是#后跟标识符:

#radix
#bar 

3.常量的声明 const 和 final

const 值必须在编译时知道,初始化后无法更改
final 值必须在运行时知道,初始化后无法更改
两者区别
final 可以开始不赋值 只能赋一次;而final不仅有const 的编译时常量的特性,最重要的它是运行时常量,并且final是惰性初始化,在运行时第一次使用前才初始化。

// 比如: const time = '2020-01-01'。
const time = DateTime.now() // 会报错 因为我们无法将运行时值分配给 const 变量
final time = DateTime.now() // 成功 

4.运算符、条件判断、类型转换

int a =14;
int b = 5;

算术运算符:+        -        *        /       %       ~/ 

print(a+b); // 加
print(a-b); // 减
print(a*b); // 乘
print(a/b); // 除
print(a%b); // 除余
print(a~/b); // 取整

关系运算符:==     !=     >      <        >=       <=

print(a==b); // 判断是否相等
print(a!=b); // 判断是否不等
print(a>b); // 判断是否大于
print(a<b); // 判断是否小于
print(a>=b); // 判断是否大于等于
print(a<=b); // 判断是否小于等于

 逻辑运算符:! 取反   && 并且:全部为true的话值为true 否则为false   || 或者:全部为false则为false

赋值运算符:
      基础赋值运算符: =  ??=
      复合赋值运算符:+=    -=    *=     /=    %=     ~/=       ++    --


var a;
var b = a?? 10;  // 两个问号的意思是a为空时会使用10来赋值
print(b); // b的值是10

String price= "123.1";
try {
var myNum = double.parse(price);  // 把str转换成double
} catch(err) {
 // 如果转换错误就在这里处理
}
var myNum = 12; 
var str = myNum.toString(); // 把int 类型转String


var string1 = '';
// isEmpty:判断字符串是否为空

  if (string1.isEmpty) {
    print('string1是空');
  } else {
   print('string1不为空');
  }

  var sex = "男";
  switch (sex) {
    case "女":
      print("性别女");
      break;
    case "男":
      print("性别男");
      break;
    default:
      print("传入参数有误");
      break;
  } 

5.循环语句:for、while 、do..while 、break

for(int i =0;i<=10;i++){ //打印0到10
   print(i);
}

int i =1;
whild(i<=10){
print(i);
i++;
}

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

未更新完...

收藏
评论区

相关推荐

[Dart]Dart语言之旅<一>:简介
我们假定你已经知道如何用另一种语言编程,《Dart语言之旅》将向你展示了如何使用每个主要的Dart特性——从变量和运算符到类和库。 一个基本的Dart程序 下面的代码使用了许多Dart最基本的功能: // Define a function. printNumber(num aNumber) { print('The number is $a
IDEA 配置 Dart 开发环境,以及创建第一个 Dart 项目
IDEA 配置 Dart 开发环境,以及创建第一个 Dart 项目 1、打开 IDEA 会看到如下页面,点击右下角的 Configure,然后点击 Plugins Launch Page 2、在新打开的页面中搜索 Dart,可以看到如下的搜索结果,然后点击右侧面板的 insta
Dart官方文档翻译(一)(Dart之旅)
这篇文章将会向你展示如何使用Dart的每一个知识点,包括变量,操作符,类,类库,但这是在你已经有一个其他语言的编码经验的前提下。 为了学习Dart更多关于Dart的核心类库,请查看A Tour of the Dart Libraries,当你想知道更多语言特征,挺查阅Dart language specification 你可以通过DartPad 来尝试
<Dart基础>Dart简介
Dart基础系列: Dart简介(https://www.jianshu.com/p/c749f40828a5) Dart语法(上)(https://www.jianshu.com/p/6b5689342e24) <基础Dart语法(下)(https://www.jianshu.com/p/7c3eba46e679) 一、简
Dart基础&gt;Dart语法(上)
Dart基础系列: Dart简介(https://www.jianshu.com/p/c749f40828a5) Dart语法(上)(https://www.jianshu.com/p/6b5689342e24) <基础Dart语法(下)(https://www.jianshu.com/p/7c3eba46e679) 说明:
Dart基础语法简介
Dart基础系列: Dart简介(https://www.jianshu.com/p/c749f40828a5) Dart语法(上)(https://www.jianshu.com/p/6b5689342e24) <基础Dart语法(下)(https://www.jianshu.com/p/7c3eba46e679) 一、简
flutter -- dart基础之dart简介和安装
Dart介绍: Dart是由谷歌开发的计算机编程语言,它可以被用于web、服务器、移动应用 和物联网等领域的开发。 Dart诞生于2011年,号称要取代JavaScript。但是过去的几年中一直不温不火。直到Flutter的出现现在被人们重新重视。 要学Flutter的话我们必须首先得会Dart。 da
Dart教程(一):dart安装
一、安装dart sdk brew tap dartlang/dart brew install dart 二、安装VSCode 去官网下载即可 三、安装dart插件 (https://imghelloworld.osscnbeijing.aliyuncs.com/af7d1de25caf6599a4839b56f4f0d
Dart 入门中文教程
一、开篇 dart 语言具有如下特性 一切变量皆是对象,每个对象都是类的实例。int、double、null、函数等都是对象,所有对象都继承自 Object 类 dart 是强类型语言,但由于具备类型推导功能所以类型声明是可选的 dart 支持顶级函数、静态函数、实例函数,也允许在函数中嵌套函数,即局部函数。类似的,dart 也支持顶级
Dart语言基础,Dart 基础
1. Dart 的main方法有两种声明方式 // 第一种声明方式 main(){ print("hello world"); //打印 }; // 第二种声明方式.如果有学过typeScript或其它语言的同学都明白下面代码的意思,这个方法是有没返回值的。 void main (){ print("hello world"); }; 2.
【Flutter 实战】Dart语言简介
1.4 Dart语言简介在之前我们已经介绍过Dart语言的相关特性,读者可以翻看一下,如果读者已经熟悉Dart语法,可以跳过本节,如果你还不了解Dart,也不用担心,按照笔者经验,如果你有过其他编程语言经验(尤其是Java和JavaScript)的话会非常容易上手Dart。当然,如果你是iOS开发者,也不用担心,Dart中也有一些与Swift比较相似的特
【Flutter实战】Dart线程模型及异常捕获
2.6 Flutter异常捕获在介绍Flutter异常捕获之前必须先了解一下Dart单线程模型,只有了解了Dart的代码执行流程,我们才能知道该在什么地方去捕获异常。 2.6.1 Dart单线程模型在Java和ObjectiveC(以下简称“OC”)中,如果程序发生异常且没有被捕获,那么程序将会终止,但是这在Dart或JavaScript中则不会!
Dart中的抽象类、多态、以及接口
一、Dart中的抽象类 Dart中抽象类: Dart抽象类主要用于定义标准,子类可以继承抽象类,也可以实现抽象类接口。   1、抽象类通过abstract 关键字来定义   2、Dart中的抽象方法不能用abstract声明
Flutter - 深入理解Dart虚拟机启动
基于Flutter 1.5,从源码视角来深入剖析引擎启动中的Dart虚拟机启动流程,相关源码目录见文末附录一、概述 1.1 Dart虚拟机概述Dart虚拟机拥有自己的Isolate,完全由虚拟机自己管理的,Flutter引擎也无法直接访问。Dart的UI相关操作,是由Root Isolate通过Dart的C调用,或者是发送消息通知的方式
Dart虚拟机运行原理
一、Dart虚拟机 1.1 引言Dart VM是一种虚拟机,为高级编程语言Dart提供执行环境,但这并意味着Dart在D虚拟机上执行时,总是采用解释执行或者JIT编译。 例如还可以使用Dart虚拟机的AOT管道将Dart代码编译为机器代码,然后运行在Dart虚拟机的精简版环境,称之为预编译运行时(precompiled runtime)环境,该环境不包含任何