dart

原创
2019/01/25 14:57
阅读数 127

这是较久前学的,目前的dart 最新版本,不需要new 关键字了

语法

//字符串
String
//浮点 数字类型 不初始化默认为 null
double 
//整数 数字类型 不初始化默认为 null
int
//浮点或整数 数字类型 不初始化默认为 null
num 
//自动确定类型
var
//常量
const
//动态类型
dynamic



// 引入math库以访问sqrt函数
import 'dart:math' as math;
// 创建类Point.
class Point {
  // Final变量一经定义不可改变
  // 创建分别代表x、y轴的距离变量
  final num x, y;
  // 在构造方法中以语法糖快捷地设置实例变量
  Point(this.x, this.y);
  // 一个带有初始化列表的命名构造方法
  Point.origin()
    : x = 0,
      y = 0;
  // 计算两点距离的方法
  num distanceTo(Point other) {
    var dx = x - other.x;
    var dy = y - other.y;
    return math.sqrt(dx * dx + dy * dy);
  }
  //私有方法加_
  void _someMethod(){
  
  }
  // 重载运算符
  Point operator +(Point other) => new Point(x + other.x, y + other.y);
}

// 所有的Dart程序都以main()函数作为入口
void main() {
  // 实例化两个点
  var p1 = new Point(10, 10);
  var p2 = new Point.origin();
  // 计算两点距离
  var distance = p1.distanceTo(p2);
  print(distance);
}

//单例
class Singleton {
  static final Singleton _singleton = new Singleton._internal();

  factory Singleton() {
    return _singleton;
  }

  Singleton._internal();
}
//map
Map companys = {'Alibaba': '阿里巴巴', 'Tencent': '腾讯', 'baidu': '百度'};
var fruits = new Map();
fruits["first"] = "apple";
fruits["second"] = "banana";

//多文件合成一个library
library test;

import 'dart:html';
// ...其他导入在这里...

part 'ball.dart';
part 'util.dart';

//其他文件
 part of test;
//lambda 
str.foreach((c)=>c.next());
str.foreach((c){xxx;xxxx});
var c = (String b){print (b);};

//格式化字符串
var a = 1;
print("test $a");
print("test ${a}");

//反射
import 'dart:mirrors';
InstanceMirror myClassInstanceMirror = reflect(new MyClass(3, 4));
InstanceMirror f = myClassInstanceMirror.invoke(#sum, []);
ClassMirror MyClassMirror = myClassInstanceMirror.type;
ClassMirror cm = reflectClass(MyClass); // 反射MyClass
for (var m in cm.declarations.values) 
  print(MirrorSystem.getName(m.simpleName));
mirror.getField(Symbol(a)).reflectee

测试


包管理 pubspec.yaml

name: dart_mmd
description: A new application.
version: 1.0.0+1

environment:
  sdk: ">=2.0.0-dev.68.0 <3.0.0"

dependencies:

  utf: ^0.9.0+5
  image: ^2.0.5
  

依赖包使用

//系统
import 'dart:typed_data';
//外部
import 'package:utf/utf.dart' as utf;
//本地
import 'package:dart_mmd/sjis/sjis.dart' as sjis;

依赖下载

pub get

dart2js

dart2js xxx.dart -o xxx.js

文件/目录格式化

dartfmt -w lib/
dartfmt -w lib/xxx.dart

flutter 基础教程

https://flutter.dev/docs/cookbook https://flutter.dev/docs/get-started/flutter-for/android-devs https://flutter.dev/docs/development/ui/widgets

包查找

https://pub.flutter-io.cn

export PUB_HOSTED_URL=https://pub.flutter-io.cn
export FLUTTER_STORAGE_BASE_URL=https://storage.flutter-io.cn
展开阅读全文
打赏
0
0 收藏
分享
加载中
更多评论
打赏
0 评论
0 收藏
0
分享
在线直播报名
返回顶部
顶部