دستور GOTO

دستور GOTO چیست؟

GOTO (به معنای “برو به …”) عنوان دستوری است که در بسیاری از زبان‌های برنامه‌نویسی به منظور انتقال کنترل به خط دیگری از کد مورد استفاده قرار می‌گیرد. مکان‌هایی که با استفاده از این دستور به آن‌ها پرش می‌شود معمولا توسط برچسب (Label) ها مشخص می‌شود و یا از شماره خطوط برای این جهش کمک گرفته می‌شود. بسته به زبان‌های برنامه‌نویسی مختلف، این دستور به اشکال گوناگونی از جمله GoTo، goto و … مشاهده می‌شود.

دستور GOTO از جمله دستورات جهش یا انشعاب غیر شرطی به شمار می‌رود. با وجود اینکه در گذشته استفاده از این دستور متداول بوده است اما با ظهور برنامه‌نویسی ساخت یافته (Structured Programming)، این دستور آرام آرام به فراموشی سپرده شده است. به عبارت دیگر در زبان‌های امروزی، استفاده از این دستور برای ایجاد برنامه‌ها ضرورتی ندارد و می‌توان از طریق حلقه‌ها، دستورات انتخاب و … نیز به همان عملکرد دستور GOTO دست پیدا نمود.

ساختار کلی این دستور به شکل goto identifier می‌باشد که در آن منظور از identifier برچسب یا شماره خطی است که به آن نقطه قرار است پرش صورت بگیرد. (یک برچسب در واقع دنباله‌ای از کاراکترهاست که در بسیاری از زبان‌ها با علامت : به پایان می‌رسد و یک نقطه معین در سورس کد را مشخص می‌کند). در قطعه کد زیر که به زبان C++ نوشته شده است نحوه استفاده از این دستور نمایش داده شده است:

...
goto label;
...
label:
...

مزایا و معایب استفاده از دستور GOTO

مهم‌ترین انتقادی که نسبت به این دستور بیان می‌شود آنست که استفاده از GOTO در مقایسه با ساختارهای جایگزین باعث می‌شود درک و فهم کد دشوارتر شود. هرچند این انتقاد در بسیاری از موارد قابل قبول است با اینحال از نظر بسیاری از کارشناسان، این دستور می‌تواند در صورت استفاده صحیح مفید واقع شود و نه تنها منجربه پیچیده‌تر شدن کد نشود بلکه خوانایی کد را بهبوده داده، از حجم کد کاسته و مانع از تکرار بخش عظیمی از دستورات شود. به علاوه در برخی از زبان‌ها از جمله C که امکان شکست (Break) چندسطحی وجود ندارد می‌تواند به عنوان راه حلی مناسب و سریع مورد استفاده قرار گیرد. به همین دلیل این دستور در بسیاری از زبان‌های برنامه نویسی پشتیبانی می‌شود و در بسیاری دیگر نیز پشتیبانی نمی‌شود.

پیوندهای پیشنهادی تک دیک

لینک واژه در ویکیپدیا

واژه‌های مرتبط

زبان همه منظوره General-Purpose Language – G... زبان همه منظوره یا General-purpose language چیست؟ زبان همه منظوره (General-purpose language به اختصار GPL) یا زبان با اهداف عمومی به گونه‌ای از زبان‌...
زبان برنامه نویسی سی شارپ C# Programming Language... زبان برنامه نویسی سی شارپ یا C# چیست؟ سی شارپ (C#) یک زبان برنامه‌نویسی شئ گرا و همه منظوره است که توسط شرکت مایکروسافت و به مدیریت Anders Hejlsberg ...
زبان برنامه نویسی سی پلاس پلاس C++ Programming Lan... زبان برنامه‌نویسی سی پلاس پلاس (C++) چیست؟ سی پلاس پلاس (C++) یکی از زبان‌های برنامه‌نویسی پرکاربرد، همه منظوره و شیء گرا است که علاوه بر دارا بودن ...
بیسیک BASIC بیسیک یا BASIC چیست؟ بیسیک (BASIC) که مخفف عبارت Beginner's All-purpose Symbolic Instruction Code می‌باشد از جمله زبان‌های برنامه نویسی سطح بالاست که...
زبان برنامه نویسی سی C Programming Language... زبان برنامه نویسی سی یا C Programming Language چیست؟ زبان برنامه نویسی C یک زبان برنامه‌نویسی همه منظوره است که اوایل دهه‌ی 1970 توسط Dennis Ritchie ...
زبان برنامه نویسی سطح بالا High-level Programming ... زبان برنامه نویسی سطح بالا یا High-level Programming Language چیست؟ زبان برنامه نویسی سطح بالا (High-level Programming Language) به گونه‌ای از زبان ه...

دیدگاهتان را بنویسید

نشانی ایمیل شما منتشر نخواهد شد. بخش‌های موردنیاز علامت‌گذاری شده‌اند *