Menu
CoddyTech

Quyết định với if và else

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 18 trên 34.

if chỉ chạy code khi một điều gì đó đúng. else chạy đoạn code khác khi điều đó không đúng:

if (_count < 10) {
  _count++;
} else {
  print('Full');
}

Phần nằm trong dấu ngoặc đơn là một phép so sánh, có kiểu bool: đúng hoặc sai.

  • a == b: a bằng b (hai dấu bằng; một dấu dùng để gán giá trị cho biến)
  • a != b: a không bằng b
  • a < b và a > b: nhỏ hơn, lớn hơn
  • a <= b và a >= b: nhỏ hơn hoặc bằng, lớn hơn hoặc bằng

Hãy chú ý đến giới hạn: với 8 chiếc cốc, _glasses < 8 là sai, nhưng _glasses <= 8 vẫn đúng và cho phép thêm một chiếc cốc thứ chín.

Bên trong lớp State, context luôn có sẵn trong mọi phương thức, không chỉ trong build, vì vậy một phương thức cũng có thể hiển thị SnackBar.

challenge icon

Thử thách

Dễ

Uống tám cốc nước mỗi ngày là đủ. Thay đổi _drink để hàm chỉ thêm một cốc khi số cốc ít hơn 8. Nếu không, hàm sẽ hiển thị SnackBar có nội dung That is enough for today.

Tự làm thử

import 'package:flutter/material.dart';

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

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

  @override
  Widget build(BuildContext context) {
    return MaterialApp(
      debugShowCheckedModeBanner: false,
      home: const HomePage(),
    );
  }
}

class HomePage extends StatefulWidget {
  const HomePage({super.key});

  @override
  State<HomePage> createState() => _HomePageState();
}

class _HomePageState extends State<HomePage> {
  int _glasses = 0;

  void _drink() {
    setState(() {
      _glasses++;
    });
  }

  @override
  Widget build(BuildContext context) {
    return Scaffold(
      appBar: AppBar(title: const Text('Water')),
      body: Center(
        child: Column(
          mainAxisSize: MainAxisSize.min,
          children: [
            Text('Glasses today: $_glasses', style: const TextStyle(fontSize: 24)),
            const SizedBox(height: 16),
            ElevatedButton(onPressed: _drink, child: const Text('Drink a glass')),
          ],
        ),
      ),
    );
  }
}
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