1. 程式人生 > >新前端語言Dart簡易教程

新前端語言Dart簡易教程

typedef 一個表 abs 頂級 1.0 break 設置 標記 bee

從下面開始學習DART編程

以下是一個簡單的示例:

main(){
var number = 42;
print(number);
}
程序說明,dart是一個強大的腳本類語言,可以不預先定義變量類型 ,自動會類型推倒,主程序必須要先有一個main()主函數方法
以上是基本示例 至於函數返回值 和參數,暫時不講,

在學習Dart語言時,請記住以下事實和概念:

  • 在變量中可以放置的所有東西都是對象,而每個對象都是的實例。無論數字、函數和null都是對象。所有對象都繼承自[Object]類。
  • 盡管Dart是強類型的,但類型聲明是可選的,因為Dart可以推斷類型。 在上面的代碼中,數字被推斷為int類型。 如果要明確說明不需要任何類型,請使用[特殊類型dynamic]。
  • Dart支持通用類型,如List<int>(整數列表)或List<dynamic>(任何類型的對象列表)。
  • Dart支持頂級函數(如main()),以及綁定到類或對象(分別是靜態方法(static)和實例(instance)方法)的函數。您還可以在函數(嵌套或局部函數)中創建函數。
  • 類似地,Dart支持頂級變量,以及綁定到類或對象(靜態和實例變量)的變量。實例變量有時被稱為字段或屬性。
  • 與Java不同,Dart沒有公開、保護和私有的關鍵字。如果標識符以下劃線(_)開頭,則該標識符對其庫是私有的。有關詳細信息,請參見[庫和可見性]。
  • 標識符可以以字母或下劃線(_)開頭,然後是這些字符加上數字的任何組合。
  • 有時候,某事物是一個表達(expression )還是一個語句(statement)是很重要的,所以這兩個詞要準確。
  • Dart工具可以報告兩種問題:警告和錯誤。警告只是表明您的代碼可能不工作,但它們不會阻止您的程序執行。錯誤可以是編譯時錯誤,也可以是運行時錯誤。編譯時錯誤阻止了代碼的執行;運行時錯誤導致代碼執行時引發異常。

dart 關健字比健多,

下標中列出了Dart中的所有關鍵詞

abstract (1) do import (1) super
as (1) dynamic (1) in switch
assert else interface (1) sync* (2)
async (2) enum is this
async* (2) export (1) library (1) throw
await (2) external (1) mixin (1) true
break extends new try
case factory (1) null typedef (1)
catch false operator (1) var
class final part (1) void
const finally rethrow while
continue for return with
covariant (1) get (1) set (1) yield (2)
default if static (1) yield*
deferred (1) implements (1)

(1)帶有上標1的單詞是內置標識符。避免使用內置標識符作為標識符。如果嘗試為類或類型名使用內置標識符,則會發生編譯時錯誤。
(2)使用上標2的單詞是在Dart的1.0版本之後添加的與異步支持相關的更新的、有限的保留字。在以async, async*, 或者 sync* 標記的任何函數體中,不能使用async, await, 或者 yield作為標識符。有關更多信息,請參見異步支持。

關鍵字表中的所有其他詞都是保留詞。不能使用保留詞作為標識符。

變量和默認值

申明一個變量很多方法:

var name = "hello"

這兒可以用關健字var 申明,也可以 先申明在定義 比如:strint name = "name“

申明一個變量有很多,比如申明數字型 ,字符型 ,布爾型 ,

以下關於數字定義

int x = 1;
16進制寫法 int hex = 0xDEADBEEF; int bigInt = 34653465834652437659238476592374958739845729

關於字符定義

關於布爾
數據類型詳細說明:
未初始化的變量的初始值為null。甚至具有數字類型的變量最初也是null,因為數字——就像dart中的其他東西一樣——是對象。
程序默認值:如果變量只申明沒有定義只會有默認值 ,轉換類型失敗也會返回默認值 ,稍後補充

int lineCount;
assert(lineCount == null);  //  assert類似於if 語句,出錯後會標飄紅報錯

註意:在生產環境中,assert()調用被忽略。在開發環境中當assert(condition) 的condition條件不為真時拋出一個異常。詳細信息請查看[ Assert]。

Final 和 const修飾符 、、// 定義常量

永遠不改量的量,類似與一常不變的數值,請使用final或const修飾他,而不是使用var或其他變量類型。最終變量只能設置一次;const變量是一個編譯時常數。(Const變量是隱式最終變量。)最終的頂級或類變量在第一次使用時被初始化。註意:實例變量可以是final,但不能是const。[實例變量定義在對象一級,它可以被類中的任何方法或者其他類中的方法訪問,但是不能被靜態方法訪問。]

這裏有一個創建和設置final變量的例子:

final name = ‘Bob‘; // Without a type annotation
final String nickname = ‘Bobby‘;

您無法更改final變量的值:

name = ‘Alice‘; // Error: a final variable can only be set once.
//這個是錯誤示例,在使用時final變量是不可以更改的

對於想要在編譯時確定並且不再變的變量,使用const。如果const變量位於類級別,則將其標記為靜態const。在聲明該變量時,將該值設置為編譯時常量,例如數字或字符串字面量、const變量或常量數字算術運算的結果:

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

const關鍵字不只是聲明常量變量。您還可以使用它來創建常量值,以及聲明創建常量值的構造函數。任何變量都可以賦一個常量值。

var foo = const [];
final bar = const [];
const baz = []; // Equivalent to `const []`

您可以從const聲明的初始化表達式中省略const,如上面的baz。有關細節,請參見[不要多余的使用const]。

您可以更改一個非final的非const變量的值,即使它曾經有一個const值:

foo = [1, 2, 3]; // Was const []
復制

你不能改變const變量的值:

baz = [42]; // Error: Constant variables can‘t be assigned a value.



新前端語言Dart簡易教程