Dart:
การจัดระเบียบโค้ดเข้าไปในฟังก์ชัน
วิธีทำ:
ฟังก์ชันพื้นฐาน
ใน Dart, คุณกำหนดฟังก์ชันโดยใช้คำสั่ง void
หากมันไม่ส่งค่ากลับ, หรือระบุชนิดของค่าที่จะส่งกลับอย่างอื่น นี่คือฟังก์ชันง่ายที่พิมพ์ข้อความทักทาย:
void greet(String name) {
print('Hello, $name!');
}
void main() {
greet('Alice'); // ผลลัพธ์: Hello, Alice!
}
การส่งค่ากลับ
ฟังก์ชันสามารถส่งค่ากลับได้ ตัวอย่างต่อไปนี้รับจำนวนเต็มสองตัวเป็นข้อมูลนำเข้าและส่งคืนผลรวม:
int add(int a, int b) {
return a + b;
}
void main() {
var sum = add(5, 3);
print(sum); // ผลลัพธ์: 8
}
ฟังก์ชันไม่ระบุชื่อ
Dart รองรับฟังก์ชันไม่ระบุชื่อ (ยังเรียกว่า lambda expressions หรือ closures) ซึ่งสามารถใช้สำหรับฟังก์ชันชั่วคราวที่สั้นๆได้ นี่คือวิธีใช้ฟังก์ชันไม่ระบุชื่อกับเมธอด forEach
ของรายการ:
void main() {
var fruits = ['apple', 'banana', 'cherry'];
fruits.forEach((item) {
print(item);
});
// ผลลัพธ์:
// apple
// banana
// cherry
}
การใช้คำสั่ง Arrow สำหรับฟังก์ชันที่มีเพียงแสดงผลเดียว
สำหรับฟังก์ชันที่มีเพียงแสดงผลเดียว, Dart เสนอไวยากรณ์ที่กระชับด้วยการใช้ “ลูกศร”(=>
). นี้เป็นประโยชน์โดยเฉพาะสำหรับฟังก์ชันสั้นๆ หรือการส่งฟังก์ชันเป็นอาร์กิวเมนต์:
int square(int num) => num * num;
void main() {
print(square(4)); // ผลลัพธ์: 16
}
การใช้ไลบรารีของบุคคลที่สาม
สำหรับฟังก์ชันที่ซับซ้อนหรือเฉพาะเจาะจงมากขึ้น, โปรแกรมเมอร์ Dart มักจะพึ่งพาไลบรารีของบุคคลที่สาม. พิจารณาไลบรารี http
สำหรับการทำ HTTP request. อย่างแรก, เพิ่ม http
ในไฟล์ pubspec.yaml ของคุณภายใต้ dependencies:
dependencies:
http: ^0.13.3
จากนั้น, คุณสามารถใช้มันเพื่อดึงข้อมูลจากเว็บ:
import 'package:http/http.dart' as http;
Future<void> fetchUserData() async {
var response = await http.get(Uri.parse('https://api.example.com/users/1'));
print(response.body);
}
void main() {
fetchUserData();
// ผลลัพธ์ที่คาดหวัง: ข้อมูล JSON ของผู้ใช้ ผลลัพธ์จริงอาจขึ้นอยู่กับการตอบสนองของ API.
}
จำไว้ว่าเมื่อคุณจัดระเบียบโค้ด Dart ของคุณเข้ากับฟังก์ชัน ให้คิดถึงความสามารถในการใช้งานซ้ำ ความชัดเจน และหลักการรับผิดชอบเดียว. นี้ไม่เพียงทำให้โค้ดของคุณสะอาดขึ้นเท่านั้น แต่ยังทำให้คนอื่น (และคุณในอนาคต) เข้าใจและบำรุงรักษาได้ง่ายขึ้นด้วย.