变量
动态类型or静态类型
变量类型:
- 内置类型
numbers => int double
strings
booleans
lists (也被称之为 arrays)
maps
runes (用于在字符串中表示 Unicode 字符)
symbols
变量声明和赋值:
int age = 10;
String name = "ngnice";
bool isWoman = false;
var nickname = "小碗";
const double NUM = 3.1314926;
// NUM = 2.2222; //不能改变
final String aname = "wola";
// aname = "gogo";
print(NUM);
print('my name is $name, i am ${age} years old');
print("you can also call me $nickname");
print(0.1+0.2);
var alist = const ["name",2,2,3];
const blist = ["bname",2,2,3];
print(alist[0]);
print(blist.length);
//alist[0] = 2; // 编译时常量 无法改变值
// Map
Map config = {
"name": "ngnice",
"age": 10,
};
print("aaa- ${config['name']}");
// 方法
void sayHello(name) {
print("hi, $name");
}
void sayHello2(String name) {
print("hi, $name");
}
sayHello2(name);
sayHello(90);
Tips
- 没有初始化的变量, 默认值都是
null
- 布尔值
if
判断的时候没有默认的内部转换逻辑- 字符串和
javascript
基本类似Map
类型 和javascript
不同的地方:取值 必须使用[]
,键值如果是字符串原始值的话 必须使用引号。- 因为dart支持动态类型, 所以变量类型是可选的, 使用
var
来声明变量,这时候变量类型是dynamic
类型的。
注意: 对于局部变量,这里准守 代码风格推荐 部分的建议,使用var
而不是具体的类型来定义局部变量。
常量
const
和 final
编译时常量
Symbol类型
函数
void sayHello(name) {
print("hi, $name");
}
void sayHello2(String name) {
print("hi, $name");
}
sayHello2(name);
sayHello(90);
类
注意点
- 没有访问控制修饰符 public privated protected等 通过
_
来标记是内部方法或属性
网友评论