دستور GOTO
دستور GOTO چیست؟
GOTO (به معنای “برو به …”) عنوان دستوری است که در بسیاری از زبانهای برنامهنویسی به منظور انتقال کنترل به خط دیگری از کد مورد استفاده قرار میگیرد. مکانهایی که با استفاده از این دستور به آنها پرش میشود معمولا توسط برچسب (Label) ها یا شماره خطوط مشخص میشود. بسته به زبانهای برنامهنویسی مختلف، این دستور به اشکال گوناگونی از جمله GoTo، goto و … مشاهده میشود.
دستور GOTO از جمله دستورات جهش یا انشعاب غیر شرطی به شمار میرود. با وجود اینکه در گذشته استفاده از این دستور متداول بوده است اما با ظهور برنامهنویسی ساخت یافته (Structured Programming)، این دستور آرام آرام به فراموشی سپرده شده است. به عبارت دیگر در زبانهای امروزی، استفاده از این دستور برای ایجاد برنامهها ضرورتی ندارد و میتوان از طریق حلقهها، دستورات انتخاب و … نیز به همان عملکرد دستور GOTO دست پیدا نمود.
ساختار کلی این دستور به شکل goto identifier میباشد که در آن منظور از identifier برچسب، لیبل یا شماره خطی است که به آن نقطه قرار است پرش صورت بگیرد. (این برچسب در واقع دنبالهای از کاراکترهاست که در بسیاری از زبانها با علامت : به پایان میرسد و یک نقطه معین در سورس کد را مشخص میکند). در قطعه کد زیر که به زبان C++ نوشته شده است نحوه استفاده از این دستور نمایش داده شده است:
... label: ... goto label; ...
مزایا و معایب استفاده از دستور GOTO
مهمترین انتقادی که نسبت به این دستور بیان میشود آنست که استفاده از GOTO در مقایسه با ساختارهای جایگزین باعث میشود درک و فهم کد دشوارتر شود. هرچند این انتقاد در بسیاری از موارد قابل قبول است با اینحال از نظر بسیاری از کارشناسان، این دستور میتواند در صورت استفاده صحیح مفید واقع شود و نه تنها منجربه پیچیدهتر شدن کد نشود بلکه خوانایی کد را بهبوده داده، از حجم کد کاسته و مانع از تکرار بخش عظیمی از دستورات شود. به علاوه در برخی از زبانها از جمله C که امکان شکست (Break) چندسطحی وجود ندارد میتواند به عنوان راه حلی مناسب و سریع مورد استفاده قرار گیرد. به همین دلیل این دستور در بسیاری از زبانهای برنامه نویسی پشتیبانی میشود و در بسیاری دیگر نیز پشتیبانی نمیشود.
پیوندهای پیشنهادی تک دیک
با سلام، امیدوارم حالتان خوب باشد
برنامه نویسی واقعا لذت خاصی داره امیدوارم موفق باشید.