iT邦幫忙

dart相關文章
共有 41 則文章
鐵人賽 Software Development DAY 30

技術 Day 30:Metadata 以及完賽心得

Metadata 是用來替函數、參數加上註解,在 dart:core/annotations.dart 中提供了兩個 metadata。 @override 當...

鐵人賽 Software Development DAY 29

技術 Dart 29:Dart 也有 Mockito!

物件導向中,public 函數可能會包含了外部相依,這個外部相依物件有可能是來自外部函式庫,沒有辦法直接修改裡面的數值,在我們要測試的項目中,外部相依就會變成一...

鐵人賽 Software Development DAY 28

技術 Day 28:測試你的代碼

在開發程式的時候,無論是用 TDD 開發或是面對遺留代碼 (Legacy code),單元測試都是一個相當重要的工具。單元測試可以協助開發者確認每一個使用情境都...

鐵人賽 Software Development DAY 27

技術 Day 27:讓產生器 (Generator) 來產生一連串的同步或異步資料吧。

如果想要產生一個一組一連串的數值,Dart 提供了產生器函數 (Generator Function)。 產生器函數有兩種,一種是同步產生器 (Synchron...

鐵人賽 Software Development DAY 26

技術 Dart 26:用 import 匯入其他函式庫

在 Dart 中,每一個 *.dart 的檔案,都可以被其他檔案匯入 (import) 進來。無論是自己寫的程式碼,還是第三方的程式庫,都可以用關鍵字 impo...

鐵人賽 Software Development DAY 25

技術 Day 25:擴充方法 (Extension method)

在 Dart2.7 新增關鍵字 extension ,用來替已經存在的類別擴充功能。 例如: toString(),是每一個類別都有的函數,我們若用在整數上,便...

鐵人賽 Software Development DAY 24

技術 Dart 食之無味,棄之可惜

寫在前面 Dart是由google開發的語言 目的是讓同一套程式碼可以跨平台編譯 注意,跟JAVA編譯一次後到處執行是不同的喔,Dart雖然也只需要寫一次程式碼...

鐵人賽 Software Development DAY 24

技術 Day 24:異步處理 Part2-Stream

在 Dart 中有兩種異步類別,一種是 Future ,另一種則是 Stream ,在上一篇我們知道 Future 是針對耗時的工作,在工作完成時才回傳結果。並...

鐵人賽 Software Development DAY 23

技術 Dart23:異步處理

什麼是異步呢? 一般我們執行程式碼都是直接回傳值,這稱為同步;異步跟這行為相反,我們執行程式碼時,也許因為該段程式碼需要花費時間去執行、也或許需要等待資料,這個...

鐵人賽 Software Development DAY 22

技術 Dart 22:將函數定義成型別吧。 (Typedef)

在 Dart 中,所有的項目都是物件 (Object),包括函數 (Functions) 也是物件。我們可以將函數作為另一個函數的回傳值,也可以作為函數的參數。...

鐵人賽 Software Development DAY 21

技術 Day 21:像呼叫函式一樣的呼叫類別吧。(Callable class)

物件導向的基本原則之一:單一職責原則,每一個類別裡它的職責應該只有一個,那麼在這樣的設計底下,很有可能類別只有一個函數。 例如: class Logger{...

鐵人賽 Software Development DAY 20

技術 Day20:泛型 (Generic)

什麼是泛型? 前面介紹 List、Set、Map,它們可以使用不同的型別, 在 List 的 API 文件中,發現它的型別定義為 List;而 Set 是 Se...

鐵人賽 Software Development DAY 19

技術 Day19:靜態變數 (Static variable)、靜態方法 (Static method) 以及 頂層函數 (Top-level functions)

在前面的文章中,我們知道知道每一個類別裡面都包含其屬性及方法,我們必須透過實例化的動作,才能夠取用。 例如: class Log { String messa...

鐵人賽 Software Development DAY 18

技術 Day18:Mixin

什麼是 Mixin? Mixins are a way of reusing a class’s code in multiple class hierarc...

鐵人賽 Software Development DAY 17

技術 Day 17:隱性介面 (Implicit interface)

關於介面 (interface) 介面所表示的意思是:「所有實作出本介面的類別,看起來都應該像這樣」。 Dart 並沒有像其他物件導向語言一樣有關鍵字 inte...

鐵人賽 Software Development DAY 16

技術 Day 16:抽象類別 (Abstract class)

關鍵字 abstract 加在 class 前面,可以讓類別 (class) 成為抽象類別。 成為抽象類別之後,無法被實例化,只能被其他類別繼承。 abstra...

鐵人賽 Software Development DAY 15

技術 Day 15:方法(Method)、getter 以及 setter

上一篇,我們介紹了類別。類別裡面的成員有屬性以及函數。 Methods are functions that provide behavior for an...

鐵人賽 Software Development DAY 14

技術 Day14:類別與建構式

什麼是類別 (Class)? 在物件導向語言中,每一個物件都是一個類別,子類別繼承父類別以取用父類別的類別方法與類別屬性。在 Dart 中,每一個物件都是 Ob...

鐵人賽 Software Development DAY 13

技術 Day 13:例外處理

例外 (Exception) 什麼是例外?例外就是不正常。在程式語言的範疇中,例外就是當有一個事件發生,而且會中斷正常流程。例如,當我們需要取得字串的長度,結果...

鐵人賽 Software Development DAY 12

技術 Day 12:控制流程語句 (Control flow statements)

程式語言的執行順序一般都是由上往下,逐行執行。不過有一些語句,可以改變執行的流程,我們稱之為「控制流程語句 (Control flow statement)」...

鐵人賽 Mobile Development DAY 10

技術 Dart語言 | 基本練習 (下)

07-Function playground29.dart Code void main() { showOutput(square(2)); show...

鐵人賽 Mobile Development DAY 10

技術 Dart語言 | 基本練習 (中)

04-Operators playground9.dart Code void main() { int num = 10 + 22; num = nu...

鐵人賽 Software Development DAY 11

技術 Day11:運算子 (下) - Operators

條件表達式 (Conditional expressions) 狀態 ? 表達式1 : 表達式2 ⇒ 用一行指令表達 if-else 條件 範例:有一個函數會根...

鐵人賽 Mobile Development DAY 10

技術 Dart 語言 | 基本練習(上)

Dart Exercise 01-Fundamentals playground.dart Code main() { var firstName = 'M...

鐵人賽 Software Development DAY 10

技術 Day10:運算子(上) - Operators

什麼是運算子? 在程式中,用符號表示,用來告訴編譯器要執行特定的數學、關係、邏輯運算,並產生最終結果。 算術運算符 (Arithmetic operators)...

鐵人賽 Software Development DAY 9

技術 Day9:匿名函數(Anonymous function)

上一篇文章介紹了函數,本篇繼續介紹進階的函數用法。 在 Dart 裡,全部的項目都是 Object ,當然這也包括函數;這代表什麼意思呢? 可以將函數作為參數...

鐵人賽 Software Development DAY 8

技術 Day8:函數 (Functions)

先前的範例都是將程式碼寫在 void main(){} 裡面,如果需要處理/運算的步驟很多,在 main() 中會出現很多程式碼,對於維護是相當不容易的,在實務...

鐵人賽 Software Development DAY 7

技術 Day7:內建型態(集合) - Maps

第三種介紹的集合類為 Map。 Map Map 是使用 鍵 (Key) - 值 (Value) 組合成元素,用「鍵」可以查出對應的值。在 Map 中,「鍵」是唯...

鐵人賽 Software Development DAY 6

技術 Day6:內建型態(集合) - Sets

Sets Sets 是沒有索引值、不可重複的集合。 定義一個 Sets var sets = <int>{1,2,3,4}; 利用大括弧 {}...

鐵人賽 Software Development DAY 5

技術 Day5:內建型態 (集合) -Lists

前面介紹了數字 (Numbers) 與字串 (Strings) 類,這兩種型態都是針對單一物件做處理。 集合是可以將一連串同樣類型 (numbers, stri...