Menu
CoddyTech

Hàm có tham số

Thuộc phần Tạo tính tương tác trong hành trình Flutter của Coddy. Bài học 7 trên 34.

Mỗi lần gọi, một hàm có thể nhận một giá trị. Giá trị đó là một tham số (parameter), được viết trong dấu ngoặc đơn cùng với kiểu dữ liệu:

void greet(String name) {
  print('Hi, $name!');
}

greet('Ada');    // Chào Ada!
greet('Linus');  // Chào Linus!

Bên trong hàm, name là một biến chứa giá trị được truyền vào. Giờ đây, một hàm có thể làm công việc của nhiều hàm.

Bản thân nút không thể truyền giá trị: onPressed: cần một hàm không có tham số. Vì vậy, hãy bọc lời gọi đó trong một hàm nhỏ không có tên, giống kiểu bạn đã gặp trong bài học Nút đầu tiên:

ElevatedButton(
  onPressed: () { greet('Ada'); },
  child: Text('Ada'),
)
challenge icon

Thử thách

Dễ

Thay orderTea bằng một hàm (function) order nhận String drink và in ra One Tea, please, One Coffee, please hoặc One Juice, please. Cho cả ba nút dùng hàm này.

Tự làm thử

import 'package:flutter/material.dart';

void main() {
  runApp(const MyApp());
}

void orderTea() {
  print('One Tea, please');
}

class MyApp extends StatelessWidget {
  const MyApp({super.key});

  @override
  Widget build(BuildContext context) {
    return MaterialApp(
      debugShowCheckedModeBanner: false,
      home: Scaffold(
        body: Center(
          child: Column(
            mainAxisSize: MainAxisSize.min,
            children: [
              ElevatedButton(onPressed: orderTea, child: Text('Tea')),
              SizedBox(height: 12),
              ElevatedButton(onPressed: () {}, child: Text('Coffee')),
              SizedBox(height: 12),
              ElevatedButton(onPressed: () {}, child: Text('Juice')),
            ],
          ),
        ),
      ),
    );
  }
}
quiz iconTự kiểm tra

Bài học này có một bài trắc nghiệm ngắn. Bắt đầu bài học để trả lời và theo dõi tiến độ.

Tất cả bài học trong Tạo tính tương tác

Tự luyện tập: Trình biên dịch Flutter online