در خدمت شما هستیم با آموزش کار با حلقه ها در برنامه نویسی GO از وب سایت آموزش برنامه نویسی سورس باران. در این جلسه خیلی ساده و روان با حلقه ها در برنامه نویسی GO را خواهیم داشت. با ما همراه باشید…
کار با حلقه ها در برنامه نویسی GO
زمانی شما می خواهید یک بلوک از کد را چندبار تکرار کنید.بطور کلی دستورات بطور مرحله ای اجرا میشوند:دستور اول یک تابع است که ابتدا اجرا میشود بعد دوم وبعد غیره زبان های برنامه نویسی کنترل زیادی برای مسیر های پیچیده اجرا،فراهم میکنند. دستور حلقه به ما در اجرای یک دستور یا گروهی از دستورات بطور چند بار پشت سرهم کمک میکند شکل زیر نمونه ای از یک دستور حلقه در زبان های برنامه نویسی است
این زبان انواع حلقه های زیر را پشتیبانی میکند
Sr.No | Control Statement & Description |
---|---|
1 |
break statement It terminates a for loop or switch statement and transfers execution to the statement immediately following the for loop or switch. |
2 | continue statement
It causes the loop to skip the remainder of its body and immediately retest its condition prior to reiterating. |
3 | goto statement
It transfers control to the labeled statement. |
سریعا تمام دستورات داخل حلقه را متوقف و ازحلقه بیرون می آید
1 |
break statement |
شرط قبلی را ادامه میدهد و دستور بعدی را اجرانمیکند و ازحلقه بیرون می آید
1 |
continue statement |
کنترل را به دستور علامت زده شده ارسال میکند
1 |
goto statement |
دستورات کنترل حلقه در برنامه نویسی GO
این دستورات اجرای دستورات آن را از مراحل نرمال خود تغییر میدهد زمانیکه اجرا یک مقدار false برمیگرداند، تمام اشیای اتوماتیک که ایجاد شده بودند،متوقف خواهند شد زبان C دستورات کنترل کننده زبر راپشتیبانی میکند
Sr.No | Loop Type & Description |
---|---|
1 | for loop
It executes a sequence of statements multiple times and abbreviates the code that manages the loop variable. |
2 | nested loops
These are one or multiple loops inside any for loop. |
حلقه بی نهایت در برنامه نویسی GO
یک حلقه زمانی بی نهایت میشود که شرط هیچ وقت false نشود.حلقه for مخصوصا برای اینکار استفاده میشود زمانی که هیچ کدام از دستورات داخل حلقه نیاز نباشد،شما میتوانید یک حلقه بی پایان با خالی گذاشتن عبارت ها بسازید
1 2 3 4 5 6 7 8 9 |
<span class="kwd">package</span><span class="pln"> main </span><span class="kwd">import</span> <span class="str">"fmt"</span><span class="pln"> func main</span><span class="pun">()</span> <span class="pun">{</span> <span class="kwd">for</span> <span class="kwd">true</span> <span class="pun">{</span><span class="pln"> fmt</span><span class="pun">.</span><span class="typ">Printf</span><span class="pun">(</span><span class="str">"This loop will run forever.\n"</span><span class="pun">);</span> <span class="pun">}</span> <span class="pun">}</span> |
زمانی که عبارت شرطی وجود نداشته باشد، فرض میکند که شرط درست است شما میتوانید یک مقداردهی یا اضافه کردن داشته باشید اما برنامه نویسان زبان C بیشتر از عبارت for(;;) برای ساخت حلقه بی نهایت استفاده میکنند.
[alert color=”red” icon=””]نکته: شما میتوانید بافشردن کلید ترکیبی Ctrl + C یک حلقه بی نهایت را متوقف کنید
[/alert]
چند مثال از حلقه در برنامه نویسی Go
component loop
1 2 3 4 5 |
sum := 0 <b>for i := 1; i < 5; i++</b> { sum += i } fmt.Println(sum) <span class="comment">// 10 (1+2+3+4)</span> |
This version of the Go for loop works just as in C/Java/JavaScript.
- The init statement,
i := 0
, runs. - The condition,
i < 5
, is evaluated.- If it’s true, the loop body executes,
- otherwise the loop terminates.
- The post statement,
i++
, executes. - Back to step 2.
The scope of i
is limited to the loop.
While loop
If the init and post statements are omitted, the Go for
loop behaves like a C/Java/JavaScript while loop:
1 2 3 4 5 |
power := 1 <b>for power < 5</b> { power *= 2 } fmt.Println(power) <span class="comment">// 8 (1*2*2*2)</span> |
- The condition,
i < 5
, is evaluated.- If it’s true, the loop body executes,
- otherwise the loop terminates.
- Back to step 1.
Infinite loop
By also leaving out the condition, you get an infinite loop.
1 2 3 4 5 |
sum := 0 <b>for</b> { sum++ <span class="comment">// repeated forever</span> } fmt.Println(sum) <span class="comment">// unreachable</span> |
For each loop
Looping over elements in slices, arrays, maps, channels and strings is often better done using the range
keyword:
1 2 3 4 |
strings := []string{"hello", "world"} <b>for i, s := range strings</b> { fmt.Println(i, s) } |
1 2 3 |
0 hello 1 world |
For more examples, see Range loops (for each loops) explained.
Exit a loop
The break
and continue
keywords work just as they do in C/Java/JavaScript.
1 2 3 4 5 6 7 8 |
sum := 0 for i := 1; i < 5; i++ { if i%2 != 0 { <span class="comment">// skip odd numbers</span> <b>continue</b> } sum += i } fmt.Println(sum) <span class="comment">// 6 (2+4)</span> |
لیست مطالب جلسه قبل برنامه نویسی Go
- آموزش برنامه نویسی Go – زبان برنامه نویسی گو چیست؟ آشنایی با زبان و محیط برنامه نویسی Go
- آموزش برنامه نویسی Go – ساختار برنامه نویسی GO
- آموزش برنامه نویسی Go – قواعد برنامه نویسی GO
- آموزش برنامه نویسی Go – انواع داده در برنامه نویسی GO
- آموزش برنامه نویسی Go – کار با متغیر های برنامه نویسی GO
- آموزش کار با ثابت های برنامه نویسی GO
- ساخت تصمیم در GO و آموزش کار با عملگرها در برنامه نویسی GO
پیشنهاد ویژه 1 : مقالات و کتاب های آموزشی برنامه نویسی GO
پیشنهاد ویژه 2 : فیلم های آموزشی زبان برنامه نویسی GO
راستی! برای دریافت مطالب جدید در کانال تلگرام یا پیج اینستاگرام سورس باران عضو شوید.
- منبع : سورس باران
- رمز فايل : www.sourcebaran.com
- انتشار: ۱۸ آذر ۱۳۹۷
دسته بندی موضوعات
- آموزش ارز دیجیتال
- آموزش برنامه نویسی
- آموزش متنی برنامه نویسی
- اطلاعیه و سایر مطالب
- پروژه برنامه نویسی
- رپورتاژ
- فروشگاه
- فیلم های آموزشی
- ++C
- ADO.NET
- Adobe Flash
- Ajax
- AngularJS
- apache
- ARM
- Asp.Net
- ASP.NET MVC
- AVR
- Bootstrap
- CCNA
- CCNP
- CMD
- CSS
- Dreameaver
- EntityFramework
- Go
- HTML
- IOS
- jquery
- Linq
- Mysql
- Oracle
- PHP
- PHPMyAdmin
- Rational Rose
- silver light
- SQL Server
- Stimulsoft Reports
- Telerik
- UML
- VB.NET&VB6
- WPF
- Xml
- آموزش های پروژه محور
- اتوکد
- الگوریتم تقریبی
- امنیت
- اندروید
- اندروید استودیو
- بک ترک
- بیسیک فور اندروید
- پایتون
- جاوا
- جاوا اسکریپت
- جوملا
- دلفی
- دوره های رایگان پیشنهادی
- زامارین
- سئو
- ساخت CMS
- سی شارپ
- شبکه و مجازی سازی
- طراحی الگوریتم
- طراحی بازی
- طراحی وب
- فتوشاپ
- فریم ورک codeigniter
- فلاتر
- کانستراکت
- کریستال ریپورت
- لاراول
- معماری کامپیوتر
- مهندسی اینترنت
- هوش مصنوعی
- یونیتی
- کتاب های آموزشی
- Android
- ASP.NET
- AVR
- LINQ
- php
- Workflow
- اچ تی ام ال
- بانک اطلاعاتی
- برنامه نویسی سوکت
- برنامه نویسی موبایل
- پاسکال
- پایان نامه
- پایتون
- جاوا
- جاوا اسکریپت
- جی کوئری
- داده کاوی
- دلفی
- رباتیک
- سئو
- سایر کتاب ها
- سخت افزار
- سی اس اس
- سی پلاس پلاس
- سی شارپ
- طراحی الگوریتم
- فتوشاپ
- مقاله
- مهندسی نرم افزار
- هک و امنیت
- هوش مصنوعی
- ویژوال بیسیک
- نرم افزار و ابزار برنامه نویسی
- وردپرس