The words you are searching are inside this book. To get more targeted content, please make full-text search by clicking here.
Discover the best professional documents and content resources in AnyFlip Document Base.
Search
Published by , 2022-03-08 09:57:42

รายงาน ภาษา Dart

รายงาน ภาษา Dart

รายงานเรื่อง ภาษา Flutter
จดั ทาโดย

ช่ือ-สกลุ นาย ธนพล ทองคากลั ยา
รหัสประจาตัว 62202040003
เสนอ
อาจารย์ อรรถพล เขียวทอง

รายงานนีเ้ ป็ นส่วนหน่ึงของการเรียน วชิ าพฒั นาโปรแกรมบนอปุ กรณ์
พกพาเบือ้ งต้น

ภาคเรียนที่ 2 ปี การศึกษา 2565
วทิ ยาลยั เทคนิคเพชรบุรี



คานา

รายงานเล่มน้ีจดั ทาข้ึนเพ่ือเป็นส่วนหน่ึงของวชิ า การพฒั นาโปรแกรมบน
อุปกรณ์พกพาเบ้ืองตน้ เพื่อใหไ้ ดศ้ ึกษาในเร่ือง Dart และเพอื่ เป็นประโยชน์ต่อการเรียนรู้

ผจู้ ดั ทาคาดหวงั วา่ รายงานเล่มน้ีจะเป็นประโยชน์ตอ่ ผอู้ ่าน หรือนกั ศึกษา ที่กาลงั
สนใจในรายวชิ าเรียนน้ีอยู่ หากมีขอ้ แนะนาหรือขอ้ ผดิ พลาดประการใด ผจู้ ดั ทาขอนอ้ ม
รับไวแ้ ละขออภยั มา ณ ที่น้ีดว้ ย

ผจู้ ดั ทา นายธนพล ทองคากลั ยา
วนั ที่ 23 ก.พ 65



ชื่อเรื่อง :รายงาน เร่ือง ภาษา Dart

ผศู้ ึกษาคน้ ควา้ :นาย ธนพล ทองคากลั ยา

ระดบั :ประกาศนียบตั รวิชาชีพ

สาขาวิชา :คอมพวิ เตอร์ธุรกิจ

ท่ีปรึกษา :นาย อรรถพล เขียวทอง

ปการศึกษา : 2565

บทคดั ย่อ

รายงานเร่ือง Dart คร้ังน้ีมีวตั ถุประสงคค์ ือ 1.2.1 เพอ่ื ศึกษาเกี่ยวกบั ภาษา
Dart1.2.2 ศึกษาการทางานของ Flutter 1.2.3 เพื่อเพ่มิ ช่องทางในการคน้ ควา้ ขอ้ มูล

จากเน้ือหาในรายงานสรุปไดว้ า่ ภาษา Dart เป็น ภาษาที่มีความคลา้ ยคลึงกบั ภาษา
ของตละกลู ภาษา C แตม่ ีการววิ ฒั นาการใหท้ นั สมยั มากยง่ิ ข้ึนไปอีกข้นั แตย่ งั คงไวถ้ ึง
โครงสร้างของภาษาอยู่

ถา้ ผเู้ รียนเคยใชง้ านภาษา C หรือ Java มาก่อน จะพบวา่ การเขียนภาษา Dartน้นั มี
ความคลอ่ งตวั ในการเขียนท่ีเพ่ิมข้ึน



กติ ตกิ รรมประกาศ

รายงานดงั กลา่ วน้ีสาเร็จลุลว่ งไดด้ ว้ ยความกรุณาจากอาจารย์ อรรถพล เขียวทอง
ครูผสู้ อนวิชา การพฒั นาโปรแกรมบนอปุ กรณ์พกพาเบ้ืองตน้ ท่ีไดค้ าแนะนา แนวคิดตา่ งๆ
ตลอดจนขอ้ บกพร่องตา่ งๆ มาโดยตลอด จนเสร็จสมบรู ณ์

ขอบคุณเพ่ือนร่วมช้นั เรียน ทช่ี ่วยเหลอื ใหค้ าแนะนาต่างๆ เก่ียวกบั การทางานและ
โครงงานชิ้นดงั กลา่ ว ตลอดจนโครงงานชิ้นดงั กล่าวเสร็จสมบรู ณ์เรียบร้อยได้

สารบญั หน้า ง

คานา ก
บทคดั ยอ่ ข
กิตติกรรมประกาศ ค
สารบญั ง
บทที่ 1 1
1.1 ที่มาและความสาคญั
1.2 วตั ถปุ ระสงค์ 2-5
1.3 ขอบเขตดา้ นเน้ือหา
6
1.3.1 ขอบเขตดา้ นประชากรและกลุ่มตวั อยา่ ง 7
1.3.1 ขอบเขตดา้ นเวลา 8
1.4 ประโยชน์ท่ีคาดวา่ จะไดร้ ับ 9-10
บทที่ 2 11-14
โปรแกรมภาษา Dart 15-16
Variable และ Data Type
Math Operation 17-18
String Concatenate การต่อสตริง 19
Null Handling 20
Flow Control 21
Function 22
First Class Function 23
บทที่ 3
การสร้าง Class ฉบบั Dart
การสร้าง Constructor ใน Dart
การ Instantiate Object
Read-Only Variable คืออะไร?
Optional Parameters
บรรณานุกรม

1

บทที่ 1

บทนา

1.1 ท่ีมาและความสาคญั
ภาษาDart เป็นภาษาโปรแกรมท่ีเอาไวส้ าหรับสร้างแอพพลิเคชนั บนแพลตฟอร์ม

หลากหลายโดยไดท้ ้งั mobile, desktop, server และก็ web สิ่งท่ีเป็นทน่ี ิยมที่สุดท่ีทาใหค้ น
สนใจมาเรียนภาษา Dart กนั ก็คือมนั ทางานร่วมกบั Flutter ท่ีเป็นเครื่องมือช่วยสร้าง UI
ของ Google ซ่ึงใชไ้ ดท้ ้งั กบั Android และ iOS หรือจะเป็นใน Desktop กบั Web กไ็ ด้

ภาษา Dart น้ีถกู สร้างโดยบริษทั Google และปล่อยใชง้ านแบบ open source
ทาใหส้ ามารถนาไปใชง้ านไดฟ้ รีๆ และภาษา Dart ถูกออกแบบมาใหใ้ ชง้ านไดง้ ่ายและมี
ประสิทธิภาพเชิงวตั ถอุ นื่ ๆอยา่ ง Java C# C++ ภาษา Dart จึงเป็นภาษาเริ่มตน้ ท่ีน่าสนใจ
ในการศึกษาเป็ นภาษาแรก
1.2 วตั ถุประสงค์

1.2.1 เพอ่ื ศึกษาเก่ียวกบั โปรแกรมภาษา Dart
1.2.2 ศึกษาหลกั การทางานของโปรแกรม
1.2.3 เพอื่ เพ่ิมช่องทางการศึกษาหาขอ้ มลู ในอนาคต
1.3 ขอบเขตดา้ นเน้ือหา
คน้ ควา้ เกี่ยวกบั การจดั ทารายงานเรื่อง ภาษา Dart เพอื่ เป็นแนวทางใหผ้ เู้ รียนคน
อื่นๆเขา้ มา
ศึกษาหาความรูนอกหองเรียน เพ่ือเกิดความเขาใจเพมิ่ มากข้ึน
1.3.1 ขอบเขตดา้ นประชากรและกลมุ ตวั อยา่ ง
นกั เรียน-นกั ศึกษา ไดแ้ ก่กลมุ บุคคลทว่ั ไปที่ตอ้ งการศึกษาเร่ือง ภาษา Dart
1.3.2 ขอบเขตดา้ นเวลา
เริ่มวนั ท่ี 1 พฤศจิกายน พ.ศ.2564 ถงึ วนั ที่ 18 กมุ ภาพนั ธ พ.ศ.2564
1.4 ประโยชนท์ ี่คาดวา่ จะไดร้ ับ
1.4.1 ไดร้ ู้ประวตั ิความเป็นมาของภาษา Dart
1.4.2 ไดเ้ รียนรู้หลกั การของระบบการทางานในภาษา Dart
1.4.3 สามารถตอยอดและนาไปใชในการเรียนการสอน

2

บทท2่ี
โปรแกรมภาษา Dart

โปรแกรมภาษา Dart น้นั หนา้ มีลกั ษณะคลา้ ย กบั ภาษา C มาก หากเคยเขียนภาษา C หรือ
ภาษาตระกูล C มาก่อน (เช่น C+,C++, C#, Java) จะคุน้ กบั syntax เหล่าน้ีทาใหเ้ รียนรู้ไดไ้ มย่ าก
เพราะ Dart เป็นภาษากลุ่ม Compiler นน่ั คือจาตอ้ ง Compile ก่อนเอาโปรแกรมไปทางาน ไม่เหมือน
ภาษากล่มุ Script ท่ีใช้ interpreter เพ่ือรันตวั source code โดยตรง

ตวั โปรแกรมจะเริ่มทางานที่ฟังกช์ นั main เป็นหลกั เราไม่สามารถเขียน statement นอกฟังกช์ นั ได้
การแสดงผลมาตราฐานจะตอ้ งใชค้ าสั่ง print (คาสงั่ น้ี auto-newline เสมอ)

สิ่งที่ควรรู้คือภาษา Dart น้นั การเขียน ; (semi-colon) ไมใ่ ช่ optional กลา่ วง่ายๆคือ
จาเป็นตอ้ งใส่ ; ทกุ คร้ังหลงั จบ statement ไม่สามารถลืม ; ไดแ้ บบภาษา C ยคุ ใหม่ๆ เช่น JavaScript
หรือ Kotlin เป็นตน้

Comment

การใส่คอมเมนทท์ าไดเ้ หมือนภาษา C ทุกอยา่ ง ตวั อยา่ ง
1. // สาหรับ inline comment
2. เปิ ดดว้ ย /* และปิ ดดว้ ย */ สาหรับ multi-line comment (ทา่ นไมส่ ามารถ nested ได)้

3

Variable และ Data Type

ตวั แปรภาษา Dart เป็น reference type ท้งั หมด ทาใหส้ ามารถมีคา่ เป็น null ไดท้ ้งั หมดตามภาพ

แตใ่ นภาษา Dart กย็ งั มีชนิดของตวั แปรแบบพเิ ศษ ทาใหไ้ มจ่ าเป็นตอ้ งประกาศ type แต่ตวั ภาษาจะ
auto assign ชนิดของตวั แปรใหเ้ องอตั โนมตั ิ
var คือ เป็นการนา type ใหโ้ ปรแกรมกาหนดใหเ้ อง (ตาม value)
final คือ ตวั เดียวกบั var แต่ไมส่ ามารถเปล่ียนแปลงคา่ ใดๆก็ตามได้
const คือ คา่ คงท่ี

4

ข้อแตกต่างระหว่าง dynamic vs var คือ
dynamic คือการบอกวา่ ตวั แปรน้ี เก็บคา่ ชนิดใดก็ได้ เปล่ียนแปลงไดต้ ลอด (ใครเคย

เขียนภาษา script จะรู้) แน่นอนคือการใช้ dynamic มีความเสี่ยงที่จะเกิด runtime error! ไดเ้ พราะ
Compiler ไม่สามารถเชก็ ชนิดของตวั แปรได้

var คือเป็นการกาหนดชนิดตวั แปรในจงั ตอนที่ประกาศตวั แปร โดยดูชนิดตวั แปรจาก value
ณ เวลาน้นั หลงั จากน้นั ตวั แปรจะกาหนดเป็น type ดงั กลา่ วไปตลอด ไม่สามารถเปลี่ยนไดแ้ ลว้

ข้อแตกต่างระหว่าง final vs const คือ
final เป็นการกาหนดวา่ ตวั แปรดงั กลา่ วน้นั ไม่สามารถเปลี่ยนแปลงคา่ ไดอ้ ีก หากทาการ

กาหนดค่าใดไปแลว้ จะเป็นค่าน้นั ไปโดยตลอด (immutable) ซ่ึงเป็นตวั แปรประเภท runtime ฉน้นั
เราสามารถกาหนดค่า final จากตวั แปรหรือฟังกช์ นั อ่ืนได้

const คือการประกาศคา่ คงท่ี โดยค่าท่ีกาหนดใหจ้ ะตอ้ งเป็น literal เท่าน้นั
(เช่น 10, 'value') เพราะนี่คือตวั แปรท่ีกาหนดคา่ ต้งั แต่ตอน compile-time แลว้

มภี าพถัดไป

5

6

Math Operation

การใช้ +, -, *, / และ % สามารถใชไ้ ดเ้ หมอื นกบั ภาษาอื่นๆ แตม่ ีขอ้ ควรระวงั ท่ี “ / “
สาหรับภาษาอื่นถา้ เรานา int / int ผลท่ีออกมาก็จะเป็น int แน่นอน แตห่ ากสาหรับ Dart น้นั การหาร
จะไดค้ า่ ออกมาเป็น double แทนเสมอ ตามภาพ

วธิ ีแกค้ ือใช้ operation ~/ คือการหารแลว้ ปัดจุดทิง้ หรือใชค้ าสั่ง as และคาสั่ง toInt() ก็ใชแ้ ทนได้

ขอ้ ควรระวงั ! ระวงั จะสับสนกบั คาสงั่ int.parse() กบั int.tryParse() ท่ีใชแ้ ปลง String --> int,เพราะ
มนั ไม่สามารถแปลง double --> int ได้

7

String Concatenate การต่อสตริง

การตอ่ สตริงสามารถใชเ้ คร่ืองหมาย + เหมือนภาษาทว่ั ๆไปได้ แต่กม็ ีขอ้ ควรระวงั นนั่ คือ
หากไม่ใช่ตวั แปรสตริงกไ็ ม่สามารถต่อสตริงกบั ตวั แปรสตริงได!้ และจะเป็นดงั ภาพ

ฉน้นั เราจะตอ้ งแปลงตวั แปรท่ีตอ้ งการจะต่อสตริงใหเ้ ป็น String ก่อน หรือทา String Interpolation
โดยใช้ $ (ดอลลา่ ไซน)์ เพอ่ื ระบวุ า่ เป็นตวั แปร (ถา้ มี expression ดว้ ยใหค้ รอบดว้ ย ${} เสมอ)

8

Null Handling

ตวั แปรใน Dart เป็นประเภท reference ฉน้นั จึงสามารถเป็นค่า null ไดท้ ุกตวั เลย ภาษา
Dart จึงมี operation เพอ่ื จดั การค่า null เหล่าน้ีมาใหเ้ ราใชง้ านดว้ ย
?? Null Coalescing

เป็นการเช็กวา่ ตวั แปรดงั กล่าวน้นั ถา้ หากมีคา่ เป็น null ใหใ้ ชค้ ่า default แทน ตามภาพ

ยกตวั อยา่ งเช่น

?. Null Conditional
หากตวั แปรของเราเป็น object ซ่ึงสามารถเรียกใชง้ าน method ต่างๆ ได้ แตถ่ า้ object

ตวั น้นั เป็น null ก็จะเกิดปัญหา Null Pointer Exception ตามภาพได้

9

ยกตวั อยา่ งเช่น

??= Null Coalescing Assignment
หากไมม่ นั่ ใจวา่ ตวั แปรดงั กล่าวเป็น null หรือไม่ กส็ ามารถใช้ ??= เพอื่ กาหนดคา่ default ได้

10

Flow Control
If-else

switch case

ข้อควรระวงั ! switch ในภาษา Dart จะตอ้ งมี break ตอ่ ทา้ ย case ทกุ คร้ัง ถา้ ไม่มี
โปรแกรมจะไม่หยดุ ทางาน แลว้ รันคาสง่ั บรรทดั ตอ่ ไปทนั ที ตามภาพ
Loop: while, do-while

11

เมื่อภาษาทว่ั ๆ ไป มีระบบ control เสริมคือ break และ continue ใหใ้ ชง้ านได้ ตามภาพ
Loop: for

หรือจะใชง้ านแบบ for-each เพือ่ ใหว้ นลูปในทกุ ๆ element ภายใน list ตามภาพ

12

Function
การสร้างฟังกช์ นั ในภาษา Dart มี syntax เหมือนภาษา C แตส่ ามารถละ type ทิง้ ไป
ได้ ยกตวั อยา่ งตามภาพ

Arrow Function
และหากเคยเขียนภาษา JavaScript มา มีหลายคร้ังที่เราสร้างฟังกช์ นั ท่ีมี return statement
เดียวเทา่ น้นั เรากส็ ามารถเขียนยอ่ โดยใช้ Arrow Function ได้ และแน่นอนภาษา Dart ก็
สามารถทาไดเ้ ช่นกนั โดยใชเ้ ครื่องหมาย => ตามภาพ

Optional Parameter
เราสามารถกาหนดค่าเริ่มตน้ ใหก้ บั parameter ไดโ้ ดยใชเ้ ครื่องหมาย [] ครอบ parameter
ที่ตอ้ งการประกาศใหเ้ ป็น optional ตามภาพ

13

Named Parameter
ในบางกรณี การสร้างฟังกช์ นั ที่มี parameter จานวนมาก เวลาท่ีเรียกใชฟ้ ังกช์ นั อาจจะ

สับสนเร่ืองของ ลาดบั ตวั แปรได้ ตามภาพ

ในกรณีน้ีเราสามารถต้งั ช่ือ parameter แต่ละตวั ได้ โดยใชเ้ คร่ืองหมาย {} ตามภาพ

14

ซ่ึง parameter ท้งั หมด สามารถสลบั ตาแหน่งกนั ได้
ข้อควรระวงั ! ตอนประกาศฟังกช์ นั ตอ้ งมี{} ครอบตวั แปร แตต่ อนเรียกใชง้ านฟังกช์ นั
หา้ มใส่ {} ลงไปการใชง้ าน Named Parameter เพราะจะถือวา่ เป็น optional ท้งั หมด ซ่ึง
กจ็ ะไดค้ า่ เป็น null ตามภาพ

หากตอ้ งการใหเ้ วลาเรียกใชง้ านฟังกช์ นั จาเป็นตอ้ งใส่ค่าน้นั ลงไปเสมอจะตอ้ งใช้
annotation@required เขา้ มาช่วยซ่ึง @required น้นั อยใู่ น package ช่ือ meta ที่ตอ้ งติดต้งั
เพือ่ ก่อนจะใชง้ าน โดยการเพม่ิ dependency ในไฟล์ pubspec.yaml ตามภาพ

เวลาใชง้ านกเ็ ขียน ตามภาพ

}

แบบนีห้ มายความวา่ parameter basePath และ appPath น้ันจาเป็ นต้องใสท่ กุ ครัง้ ทเ่ี รยี กใช้งานฟังกช์ นั

15

First Class Function
ในการใชง้ านภาษาสมยั ใหม่ เราเองสามารถหยบิ ฟังกช์ นั ใส่ตวั แปรได้ ตามภาพ

หรือเราจะกาหนดใหต้ วั แปรฟังกช์ นั เป็น type อะไรและมี parameter อะไรบา้ งก็ได้
เช่นเดียวกนั โดยใชร้ ูปแบบการกาหนดรูปแบบ type ดงั ภาพ
return-type Function(params-type)

และเรายงั สามารถใชง้ านไดก้ บั method อีกดว้ ย ตวั อยา่ งตามภา

มีภาพถดั ไป

16

17

บทท3่ี
การสร้าง Class ฉบบั Dart
หากพดู ถึงคลาสอยา่ งในภาษา Java อยา่ งนอ้ ยตอ้ งมี method หรือฟังกช์ นั ที่อยใู่ นคลาส
อยา่ ง main อยแู่ น่นอนภาษา Dart เองก็มี main อยเู่ หมือนกนั โดยจะเป็นฟังกช์ นั อยู่
ช้นั นอกสุด สมมติวา่ ถา้ จะส่ัง print “Hello, World” ใน Dart โคด้ จะมีหนา้ ตาตามภาพ
การใส่โคด้ Hello World ในภาษา Dart: ตามภาพ

ถา้ จะเทียบกบั Java ท่ีจะ print “Hello, World” แลว้ Dart น้นั ดูส้ันและกง็ ่ายกวา่ กนั มาก
โคด้ Hello World ภายใน Java:

18

จากโคด้ น้ีจะเห็นวา่ เรามีการประกาศคลาส Bicycle โดยมีตวั แปรที่อยใู่ สคลาสหรือ
Attribute ดว้ ยกนั 3 ตวั คือ cadend (รอบขาในการป่ัน), speed (ความเร็ว), และ gear (เกียร์)
ถา้ สังเกตจะเห็นวา่ การประกาศคลาสน้นั ไม่ตอ้ งระบุ public, private หรือ protected
เหมือนในภาษา Java โดยใน Dart น้นั ท้งั หมดจะ public เป้นคา่ เริ่มตน้ อยแู่ ลว้

19

การสร้าง Constructor ใน Dart
เม่ือคลาสและ attribute ในคลาสก็ตอ้ งมี constructor อยา่ งแน่นอนเพอื่ กาหนดค่ากบั คลาส
น้นั ในตอนท่ีสร้าง object ข้ึนมาจากคลาสนน่ั เอง ตามภาพ

ซ่ึงภายในภาษา Dart เรากส็ ามารถที่จะเขียน constructor ใหอ้ ยใู่ นบรรทดั เดียวแบบน้ีกไ็ ด้
ตามภาพ

20

การ Instantiate Object
สร้าง instance หรือกลา่ วคือ object ที่สร้างจากคลาส Bicycle

ในภาษา Dart น้นั เราเองสามารถเลือกที่จะใชห้ รือไมใ่ ชค้ าส่ัง new ตอนที่เราสร้าง
instance ก็ได้ ซ่ึงหากนาไปรวมอยใู่ นฟังกช์ นั main ก็จะไดโ้ คด้ หนา้ ตาตามภาพ

Output:

21

Read-Only Variable คืออะไร?
Read-only variable กค็ อื การทาใหต้ วั แปรภายใน class เป็น private เขา้ จาก
ภายนอกคลาสโดยตรงไมไ่ ดน้ น่ั เอง ในคลาส Bicycle ของเรา มาทาให้ speed กลายเป็น
read-only variable กนั ซ่ึงทาไดง้ า่ ยมากๆแคเ่ ปลี่ยนชื่อของมนั เทา่ น้นั เอง
จากรูปแบบตามภาพ
ไปเป็ นรูปแบบตามภาพ
แค่เติม _ (underscore) นาหนา้ ช่ือ ตวั แปรดงั กลา่ วกจ็ ะเป็น private นนั่ เอง ซ่ึงพอตวั แปร
เป็น private แลว้ เรากต็ อ้ งสร้าง getter ไวส้ าหรับ get ตวั แปรจากภายนอกเอาไวด้ ว้ ย
เรียกใชไ้ ดง้ ่ายๆแบบน้ีเลย
เราจะทาการเพ่มิ ฟังกช์ นั info ไวด้ ูขอ้ มูลของจกั รยานเขา้ ไปในคลาสดว้ ย เพอื่ ท่ีจะไดเ้ ห็น
ผลลพั ธจ์ ากการสร้างคลาสง่ายๆ พอรวมเสร็จคลาส Bicycle ของเราก็จะมีหนา้ ตามภาพ

Output:

22

Optional Parameters
ในภาษา Java น้นั มี overloading constructor หรือกค็ ือการมี constructor หลายตวั ท่ีแต่
ละตวั รับค่าไม่เหมือนกนั เพ่อื ท่ีจะไดส้ ร้าง instance ไดด้ ว้ ยวิธีท่ีแตกตา่ งกนั ได้ ใน Dart ก็
ทาไดเ้ ช่นเดียวกนั อยา่ งคลาส Bicycle ของเราถา้ หากจะทาใหต้ อนสร้าง instance เลือกที่
จะระบหุ รือไมร่ ะบุ gear กไ็ ด้ เราสามารถเขียนเป็น optional parameters ไดแ้ บบโคด้ ตาม
ภาพดงั กลา่ ว

ส่วนเวลาสร้าง instance ก็ใชง้ านไดแ้ บบน้ี ตามภาพ

Output:ตามภาพ

23

บรรณานุกรม

Dart 101: ทาความรู้จกั ภาษา Dart ฉบบั โปรแกรมเมอร์

สืบคน้ 25 กมุ ภาพนั ธ์ 2565, จากลิงค์

https://www.centrilliontech.co.th/blog/2570/dart-101-introduction-for-
programmers/

สรุปพ้ืนฐานภาษา Dart ก่อนเขียน Flutter
สืบคน้ 25 กมุ ภาพนั ธ์ 2565, จากลงิ ค์

https://medium.com/@codingthailand/%E0%B8%AA%E0%B8%A3%E0
%B8%B8%E0%B8%9B%E0%B8%9E%E0%B8%B7%E0%B9%89%E0%B8%9
9%E0%B8%90%E0%B8%B2%E0%B8%99%E0%B8%A0%E0%B8%B2%E0%
B8%A9%E0%B8%B2-dart-
%E0%B8%81%E0%B9%88%E0%B8%AD%E0%B8%99%E0%B9%80%E0%B
8%82%E0%B8%B5%E0%B8%A2%E0%B8%99-flutter-db80b637e207

การเขียนภาษา Dart ที่มีประสิทธิภาพ
สืบคน้ 25 กุมภาพนั ธ์ 2565, จากลงิ ค์

https://benzneststudios.com/blog/dart/effective-dart/


Click to View FlipBook Version