Flutter学习-dart(2):dart基础语法

1. Dart 变量

  • dart是一个强大的脚本类语言,可以不预先定义变量类型 ,自动会类型推导
  • dart中定义变量可以通过var关键字可以通过类型来申明变量
  • var 后就不要写类型,写了类型不要var,两者都写var a int = 5; 报错
var str='this is var';

String str='this is var';

int str=123;

2. Dart 常量( final 和 const修饰符 )

  • const值不变 一开始就得赋值;
  • final 可以开始不赋值,只能赋一次
  • final不仅有const的编译时常量的特性,最重要的它是运行时常量,并且final是惰性初始化,即在运行时第一次使用前才初始化
final name = 'Bob'; // Without a type annotation
final String nickname = 'Bobby';

const bar = 1000000; // Unit of pressure (dynes/cm2)
const double atm = 1.01325 * bar; // Standard atmosphere

3. dart标识符命名规则(基本同js一致):

  • 变量名称必须由数字、字母、下划线和美元符($)组成;
  • 标识符不能是保留字和关键字,且开头不能是数字
  • 变量的名字是区分大小写的如: age和Age是不同的变量。在实际的运用中,也建议,不要用一个单词大小写区分两个变量;
  • 标识符(变量名称)一定要见名思意 :变量名称建议用名词,方法名称建议用动词

4. dart数据类型

4.1 常用数据类型

  • Numbers(数值):
    • int
    • double
  • Strings(字符串)
    • String
  • Booleans(布尔)
    • bool
  • List(数组)
    • 在Dart中,数组是列表对象,所以大多数人只是称它们为列表
  • Maps(字典)
    • 通常来说,Map 是一个键值对相关的对象。 -
    • 键和值可以是任何类型的对象。每个 键 只出现一次, 而一个值则可以出现多次
//1、字符串定义的几种方式
var str1='this is str1';
String str1='this is str1';
//2、字符串的拼接
String str1='你好';
String str2='Dart';
print(str1 + str2);

//3.数值类型
int a=123;
double b=23.5;
var c=a+b;

//4.bool类型
bool flag1=true;
var flag=true;

//5. list类型
// 5.1 第一种定义List的方式
var l1=['aaa','bbbb','cccc'];
print(l1.length)
print(l1[1])

//5.2、第二种定义List的方式
var l2=new List();
l2.add('张三');
l2.add('李四')

//5.3、定义List指定类型
var l3=new List<String>();
l3.add('张三');

//6. Dart数据类型: Maps(字典)
//6.1 第一种定义 Maps的方式
var person={
    "name":"张三",
    "age":20,
    "work":["程序员","送外卖"]
 };
print(person);
print(person["name"]);
print(person["age"]);
print(person["work"]);

//6.2 第二种定义 Maps的方式
var p=new Map();
p["name"]="李四";
p["age"]=22;
p["work"]=["程序员","送外卖"];
print(p);
print(p["age"]);

4.2 项目中用不到的数据类型 (用不到)

  • Runes:

    • Rune是UTF-32编码的字符串。它可以通过文字转换成符号表情或者代表特定的文字
  • Symbols

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

runes示例
在这里插入图片描述

4.3 类型推断

  • is 关键词来判断类型
void main() {
  var str = 123;
  if (str is String) {
    print('是string类型');
  } else if (str is int) {
    print('int');
  } else {
    print('其他类型');
  }
}
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值