Flutter使用的是Dart语言.我们可以在repl.it网站内在线编译Dart程序
首先进入网站给出的是一个标准的语言学习入门输出"Hello World!"
void main() {
print('Hello World!');
}
第一眼瞧,感觉和C语言没有什么不一样的
变量
在Dart中声明变量的方式有两种.一种是让Dart编译器自己去推断的声明方式:
var a = 1;
另外一种就是指定类型的模式:
int a = 1;
输出:
print("a is :$a");
另,在Dart中,变量未初始化的值都为null.所以判断就变得简单了if (a == null) {}
数值类型
对于数值类型,一共有三种类型:num.64位int.64位double.
在Dart中num是int和float的父类
想用数值计算单一些高级功能的话可以使用dart:math
库.
布尔类型
Dart中有一个bool类型,取值只有true,false两个值.像C中的下面这个示例肯定是不能通过编译的
/// 错误示例
var a = 1;
if (a) {
} else {
}
必须是类似Swift有表达式的==返回的bool值判断
var a = 1;
if (a == 1) {
} else {
}
字符串
类似Swift.多行文本可以使用如下的形式创建
```context```
字符串的创建
String a = 'abc';
String b = "abc";
String c = """abc""";
其中a.b.c的值相等.
字符串的拼接
var d = a + b + c
输出
///直接输出c的值
print("$c");
/// 将c字符串全部转换成大写字母然后输出
print("${c.toUpperCase()}");
集合类型
List
可以理解为Array
/// 创建一个Array
var array = ["123" ,"2345" ,"3456"];
/// 向Array添加一个元素
array.add("123123123");
/// 创建时可以添加类型约束
var array2 = <Stirng>[];
/// 动态类型数组
var array3 = <dynamic>[1, "2" ,"3"];
/// or,反正能自动推算类型
var array3 = [1, "2" ,"3"];
需要注意的是,add的添加的方法的类型必须和创建array
输出
print(array);
Map
可以理解为Dictionary
/// 创建一个Map
var map = {"key1" :value1 ,"key2" :value2};
/// 向Map添加一个元素/或者更新已有Key的value
map["key3"] = value3
/// 创建时可以添加类型约束
var map2 = <String ,String>{};
/// 动态类型Map
var map3 = <String ,dynamic>{"123":11,"1234":"1234567x"};
常量
Dart的常量有两种
- 1.const,即为编译期就能确定的值.
- 2.final,可以在运行期确定值,一旦确定就不能更改.
两者都是确定值后不能更改,唯一有区别的是final可以在运行期确定值.就比如
const a
就会报错.
结尾
和一般的编程语言可能不太相同的地方是,Dart中所有的类型都是对象类型,都继承自顶层类型Object.就连null也是对象类型…