goto

Giới thiệu

Nó có nhiệm vụ tạm dừng chương trình rồi chuyển đến một nhãn đã được định trước, sau đó lại chạy tiếp chương trình!

Cú pháp

label: //Khai báo một nhãn có tên là label

goto label; //Chạy đến nhãn label rồi sau đó thực hiện tiếp những đoạn chương trình sau nhãn đó

Thủ thuật

Không nên dùng lệnh goto trong chương trình Program hay bất cứ chương trình nào sử dụng ngôn ngữ C. Nhưng nếu sử dụng một cách khôn ngoan bạn sẽ tối ưu hóa được nhiều điều trong một chương trình!

Vậy nó hữu ích khi nào, đó là lúc bạn đang dùng nhiều vòng lặp quá và muốn thoát khỏi nó một cách nhanh chóng!

Ví dụ

for(byte r = 0; r < 255; r++){
    for(byte g = 255; g > -1; g--){
        for(byte b = 0; b < 255; b++){
            if (analogRead(0) > 250){ goto bailout;}
            //thêm nhiều câu lệnh nữa
        }
    }
}
bailout:

 

lên
6 thành viên đã đánh giá bài viết này hữu ích.
Các bài viết cùng tác giả

Hướng dẫn nạp file binary (.bin) cho ESP8266

Đôi khi chúng ta có file nạp cho chip .hex, hoặc các bạn làm xong một dự án trên board Arduino, các bạn không cần bootloader (nhất là chíp Atmega8), và các bạn muốn phát triển trên một bảng mạch riêng thì lúc đó ta sẻ nạp trực tiếp file .hex cho chip, và hôm nay mình sẻ hướng dẩn các bạn nào chưa biết một cách nạp file .hex (firmware) đơn giản và an toàn. Có rất nhiều cách nạp firmware các bạn có thể tìm hiểu trên Internet.

lên
3 thành viên đã đánh giá bài viết này hữu ích.

Lập trình PLC cơ bản - Bài 005 - Hướng dẫn kết nối iNut PLC tới server nội bộ / server tại biên / server không cần qua bên thứ 3

Khi sử dụng một thiết bị IoT trong công nghiệp, đại đa số chủ đầu tư sẽ quan tâm đến việc máy chủ của họ sẽ nằm ở đâu trong quá trình lưu trữ và sử dụng một hệ thống IoT. Vì sao lại như thế? Vì họ không bị phụ thuộc vào nhà cung cấp dịch vụ hoặc là nhà cung cấp Internet,... Máy móc thiết bị mua thì phải thuộc sỡ hữu của họ chứ không phải là đi thuê mướn,... Và giải pháp cho toàn bộ  việc đó chính là iNut PLC với khả năng tích hợp vào một máy chủ bên thứ 3 nhưng vẫn đảm bảo lưu thông của toàn bộ hệ thống IoT. Đem IoT từ trên mây (clouding) về nhà máy (tại biên - edge computing). Cùng khám phá nhé.

lên
5 thành viên đã đánh giá bài viết này hữu ích.