dart 学习笔记

1.dart sdk安装版本

dart --version
Dart VM version: 1.24.3 (Wed Dec 13 23:26:59 2017) on "macos_x64"

2.编写例子dart 技术π值和dartPad

不一样,提示报错

2.提示错误

3.dart的基本语法

本书并非详尽无遗,只是简单介绍一下这种语言,供喜欢以身作则的人学习。您可能还想查看语言和库教程

简单的helloworld

hello.dart

void main() {
  print('Hello, World!');
}

结构打印helo 、 World!

3.1Variables

var name = 'keny风清扬';
var year = 1990;
var antennaDiameter = 3.7;
var flybyObjects = ['Jupiter', 'Saturn', 'Uranus', 'Neptune'];
var image = {
  'tags': ['saturn'],
  'url': '//path/to/saturn.jpg'
};

打印变量

dart hello.dart
Hello, World!
keny风清扬
{tags: [saturn], url: //path/to/saturn.jpg}

3.2程序结构

  • 分支语句
  • 循环语句
if (year >= 2001) {
  print('21st century');
} else if (year >= 1901) {
  print('20th century');
}

for (var object in flybyObjects) {
  print(object);
}

for (int month = 1; month <= 12; month++) {
  print(month);
}

while (year < 2016) {
  year += 1;
}

3.3函数调用

斐波那契数列,递归调用

0 1 2 3 4 5 6

0 1 1 2 3 5 8

int fibonacci(int n) {
  if (n == 0 || n == 1) return n;
  return fibonacci(n - 1) + fibonacci(n - 2);
}

var result = fibonacci(30);
编辑fibonacci.dart
int fibonacci(int n) {
  if (n == 0 || n == 1) return n;
  return fibonacci(n - 1) + fibonacci(n - 2);
}
void main() {
  var result = fibonacci(5);
  print("fibonacci(5)   result=${result}");
  var result1 = fibonacci(30);
  print("fibonacci(30)  result=${result1}");
}

运行结果为

3.4注解Comments

// 备注单行

/*备注多行*/

3.5 Imports 导入

// 导入数学库
import 'dart:math';

//
import 'package:test/test.dart';

// 导入自定义库
import 'path/to/my_other_file.dart';

3.6 类

下面是一个具有三个属性、两个构造函数和一个方法的类的示例

//汽车,名字和生成日期
class Car {
  String name;
  DateTime createDate;

  // 
  Car(this.name, this.createDate) {
    //
  }

  // 构造函数
  Car.createDate(String name) : this(name, null);

  int get createDate.Year =>
      createDate?.year; // 只读

  // 功能模块 
  void describe() {
    print('Car: $name');
    if (createDate != null) {
      int years =
          DateTime.now().difference(createDate).inDays ~/
              365;
      print('计划推出: $launchYear ($years years ago)');
    } else {
      print('取消');
    }
  }
}

奇怪官网的例子不通

提示: No static method 'now' declared in class 'DateTime'

 

 

发布了134 篇原创文章 · 获赞 12 · 访问量 1万+

猜你喜欢

转载自blog.csdn.net/keny88888/article/details/103916310