flutter

1.dart语言基础

数据类型
Dart 复制代码
    //flutte
    num a = 10;
    double b = 10.0;
    int x = 10;
    num c = 10.0;

    //字符串拼接方式。和kotlin的是一样的。 也可以和java中一样做拼接。
    String testString = "aaaaaaaaaaaaaaaaaaaaaaaaaaaa";
    String bbbbb = "aaaaaaaaaaaaaaccccc";
    String cc = "$testString$bbbbb";
    String bb = testString + bbbbb;
    print(cc);
    print(bb);

    //bool类型。和java有区别,关键字不一样,java 和kotlin中是boolean在dart中是bool
    bool isOpen = false;
    bool isSwitch = true;
    //bool 值之前的计算方式和其他语言的方法一样。
    bool isOk = isOpen || isSwitch;
    bool isNotOk = isOpen && isSwitch;

    //集合定义
    List list = [a, 3.0, 10];
    Map map = {"10": 10};
    for (var value in list) {
      print(value);
    }

    for( int i = 0 ; i< list.length; i++){
      print(list[i]);
    }

    map.forEach((key, value) {
      print("$key$value");
    });

    //obj 是可以改变类型的。 
    Object obj = "1000";
    obj  = 10.0;

    //动态数据类型。
    dynamic d = "dynamicString";
    print(d.runtimeType); // 可以判断运行时的类型。String
    d = 1.0;
    print(d.runtimeType); // 可以判断运行时的类型。 int
类和构造函数。
Dart 复制代码
class Obj {
  String name;

  String age;

  Obj(this.name, this.age);

  @override
  String toString() {
    return "$name$age";
  }
}

class UserObj extends Obj {
  //在dart中。私有属性。或者私有类,需要在变量名字前面添加下划线表示。
  //默认是public 共有属性或者共有类。
  int _private; 
  //在dart中。可空对象使用?表示, 如下 String? 表示school是一个可空对象。
  String? userName;
  String city;
  String address;
  // {this.school} 是可选参数, 可选参数必须在构造函数参数列表中最后一个
  // 默认参数 : 可选参数中如果用户不初始化该可选参数 , 那么为其指定一个默认值
  // {this.city = "北京"} 指定了如果用户不初始化 city 变量, 那么为其初始化 "北京" 字符串值
  // 初始化列表 : 冒号后面的内容就是初始化列表
  //            父类构造器也是初始化列表
  //            除了父类构造方法之外 , 还可以在子类构造方法体之前初始化示例变量
  //            不同的初始化实例变量之间使用逗号隔开
  //父类构造方法 : 如果父类没有默认构造方法 (无参构造方法) ,
  //              必须在初始化列表中调用父类构造函数 , super(name, age) ;
  // 构造方法方法体 : 可以省略 ;
  UserObj(this._private, String name, String age, {this.userName, this.city = '北京'}):address = "nc",super(name, age);
}

3. 泛型

相关推荐
sunly_2 小时前
Flutter:导航固定背景图,滚动时导航颜色渐变
android·javascript·flutter
恋猫de小郭5 小时前
为什么跨平台框架可以适配鸿蒙,它们的技术原理是什么?
android·前端·flutter
SY.ZHOU5 小时前
详细讲解Flutter GetX的使用
flutter
sunly_5 小时前
Flutter:下拉框选择
flutter
明似水5 小时前
用 Melos 解决 Flutter Monorepo 的依赖冲突:一个真实案例
前端·javascript·flutter
张风捷特烈6 小时前
每日一题 Flutter#5,6 | 两道 Widget 选择题
android·flutter
玖夜Kty17 小时前
国内环境修改 flutter.bat 来设置 flutter 的网络环境
flutter
LinXunFeng18 小时前
Flutter - GetX Helper 助你规范应用 tag
flutter·github·visual studio code
阅文作家助手开发团队_山神1 天前
第五章:Flutter Quill渲染原理深度剖析:Delta到RichText的华丽转身
flutter
未来猫咪花1 天前
# Flutter状态管理对比:view_model vs Riverpod
flutter·ios·android studio