iT邦幫忙

第 12 屆 iT 邦幫忙鐵人賽

DAY 21
1
IoT

來與IoT譜寫一首戀愛樂章吧系列 第 21

op.21 《應用層》-來用 Dart 小試身手

op.21 妳的時空 兩種情話

一種是對妳在的時空跟其他人對話用的
另一種則是我跟妳之間的祕密情話
只有我們之間專屬的

今天是星期二,還好今天沒有舉辦活動,不然我應該會死掉吧哈哈哈

甚麼是 Dart ?

還記得昨天的 Flutter 嗎?背後其實是由 Dart 來去做支撐的語言,Dart本身為一種物件導向的程式語言,學習門檻不會那麼的高。

Dart 是一樣由 Google 爸爸所主導的,出生於2011年10月,但這些都不是重點,重點 Dart 的編寫風格呢?經過我自己寫下來的感覺,要說很像 C# ,也覺得很像是 JavaScript ,但卻在某些地方又特別嚴謹,就像 C 一樣;沒錯,這就是一個很奇妙的語言,你可以在其中發現似乎柔和不少程式的優點與風格,寫 Dart 可能會讓你有一種回到家的感覺,雖然不是你真正的家,說到這裡,那就直接進入實戰的部分吧,下面的教學會採用 Dart 與 C 一起實作,讓各位可以比較好的比較。

先提供各為一個很好的 Dart 測試環境 (連結)

https://ithelp.ithome.com.tw/upload/images/20201006/201290846lcln86ZNQ.png

這裡等等可以讓我們直接執行 Dart ,不用安裝即可上手,讚吧。

不免俗的,剛開始先來看看 Hello World! 吧

Dart - Hello World

main() {
  print("Hello, World!");
}

C - Hello World

void main() {
  printf("Hello, World!");
}

發現其實 Dart 的風格跟 C 很像嘛,但看起來比較沒有像 C 一樣的囉唆。

再來看看宣告變數的部分

Dart

var num = 0;
var text1 = "Hi Dart";

C

int num = 0;
char text1[] = "Hi Dart";

這裡便發現,Dart 多是使用 var 來宣告(當然也可以使用常規的宣告),不用去對型態作限制,反觀 C 則是對於型態很要求,很多時候需要視情況地轉換型態。

接著來看看 if & for 吧!

Dart - if

int i;
for(i=0;i<5;i++){
    if(i==0){
        print("Yes");
    }else{
        print("No");
    }
}

C - if


int i;
for(i=0;i<5;i++){
    if(i==0){
        printf("Yes");
    }else{
        printf("No");
    }
}

在這可以看到其實 if & for 沒有太大的差異,從這裡開始發現其實跟很多語言都非常相近。

當然也會有需要引入其他程式片段進來,這裡又跟 Python or Java 很類似

Dart

import 'dart:math';

C

#include<math.h>

Python

import math;

從這裡便可以知道 Dart 其實入門的門檻不高,有過寫程式的經驗,上手相對沒如此地複雜。那許多更進階的概念這裡就不先深入介紹,要是再說下去,我想這場鐵人賽會很漫長XD,主要還是讓大家能夠輕鬆地摸清三個區塊,然後完成簡易的物聯網應用。

今日的曲子:<<夏日驕陽>>周煜國


上一篇
op.20 《應用層》-建置 Flutter 環境
下一篇
op.22 《應用層》- Flutter的初體驗
系列文
來與IoT譜寫一首戀愛樂章吧30

尚未有邦友留言

立即登入留言