در خدمت شما هستیم با آموزش کار با حلقه ها در برنامه نویسی 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. |
سریعا تمام دستورات داخل حلقه را متوقف و ازحلقه بیرون می آید
break statement
شرط قبلی را ادامه میدهد و دستور بعدی را اجرانمیکند و ازحلقه بیرون می آید
continue statement
کنترل را به دستور علامت زده شده ارسال میکند
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 مخصوصا برای اینکار استفاده میشود زمانی که هیچ کدام از دستورات داخل حلقه نیاز نباشد،شما میتوانید یک حلقه بی پایان با خالی گذاشتن عبارت ها بسازید
package main import "fmt" func main() { for true { fmt.Printf("This loop will run forever.\n"); } }
زمانی که عبارت شرطی وجود نداشته باشد، فرض میکند که شرط درست است شما میتوانید یک مقداردهی یا اضافه کردن داشته باشید اما برنامه نویسان زبان C بیشتر از عبارت for(;;) برای ساخت حلقه بی نهایت استفاده میکنند.
نکته: شما میتوانید بافشردن کلید ترکیبی Ctrl + C یک حلقه بی نهایت را متوقف کنید
چند مثال از حلقه در برنامه نویسی Go
component loop
sum := 0
for i := 1; i < 5; i++ {
sum += i
}
fmt.Println(sum) // 10 (1+2+3+4)
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:
power := 1
for power < 5 {
power *= 2
}
fmt.Println(power) // 8 (1*2*2*2)
- 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.
sum := 0
for {
sum++ // repeated forever
}
fmt.Println(sum) // unreachable
For each loop
Looping over elements in slices, arrays, maps, channels and strings is often better done using the range
keyword:
strings := []string{"hello", "world"}
for i, s := range strings {
fmt.Println(i, s)
}
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.
sum := 0
for i := 1; i < 5; i++ {
if i%2 != 0 { // skip odd numbers
continue
}
sum += i
}
fmt.Println(sum) // 6 (2+4)
لیست منابع : منبع 1 منبع 2
لیست مطالب جلسه قبل برنامه نویسی Go
- آموزش برنامه نویسی Go – زبان برنامه نویسی گو چیست؟ آشنایی با زبان و محیط برنامه نویسی Go
- آموزش برنامه نویسی Go – ساختار برنامه نویسی GO
- آموزش برنامه نویسی Go – قواعد برنامه نویسی GO
- آموزش برنامه نویسی Go – انواع داده در برنامه نویسی GO
- آموزش برنامه نویسی Go – کار با متغیر های برنامه نویسی GO
- آموزش کار با ثابت های برنامه نویسی GO
- ساخت تصمیم در GO و آموزش کار با عملگرها در برنامه نویسی GO
پیشنهاد ویژه 1 : مقالات و کتاب های آموزشی برنامه نویسی GO
پیشنهاد ویژه 2 : فیلم های آموزشی زبان برنامه نویسی GO
راستی! برای دریافت مطالب جدید در کانال تلگرام یا پیج اینستاگرام سورس باران عضو شوید.
- منبع : سورس باران
- رمز فايل : www.sourcebaran.com
- انتشار: ۱۸ آذر ۱۳۹۷
دسته بندی موضوعات
- آموزش برنامه نویسی
- آموزش کریپتو کارنسی (ارز دیجیتال)
- آموزش متنی برنامه نویسی
- پروژه برنامه نویسی
- فروشگاه
- فیلم های آموزشی
- #F
- ++C
- 3ds max
- Ada
- ADO.NET
- Adobe Flash
- Agile
- Ajax
- AngularJS
- Anime Studio
- apache
- ARM
- Asp.Net
- ASP.NET MVC
- assembly
- AVR
- Azure
- Bootstrap
- Cassandra
- CCNA
- CCNP
- CCSP
- ChatGPT
- Cisco
- CMD
- COBOL
- CSS
- Cython
- Django
- Dreameaver
- Elixir
- EntityFramework
- Erlang
- Flash
- Go
- Groovy
- Haskell
- Htaccess
- HTML
- IOS
- Jade
- jquery
- Kendo UI
- Linq
- Linux
- LUA
- MariaDB
- maya
- Meteor
- MongoDB
- Mono Android
- MonoGame
- Mysql
- NoSQL
- Oracle
- Orchard
- Perl
- php
- PHPMyAdmin
- R
- Rational Rose
- Ruby
- Rust
- Scala
- Scrum Master
- SFML
- SharePoint
- SignalR
- silver light
- SQL Server
- Stimulsoft Reports
- Telerik
- UML
- VB.NET&VB6
- Vue 3
- WPF
- Xml
- آردوینو
- آموزش های پروژه محور
- آیونیک
- اتوکد
- الگوریتم تقریبی
- الگوریتم نویسی و فلوچارت
- امنیت
- اندروید
- اندروید استودیو
- انیمیشن سازی
- بازی سازی با Scratch
- بک ترک
- بیسیک فور اندروید
- پایتون
- پرولوگ
- پریمیر
- جاوا
- جاوا اسکریپت
- جنگو
- جوملا
- دارت
- دلفی
- دوره های رایگان پیشنهادی
- زامارین
- سئو
- ساخت CMS
- ساخت اتوران
- ساختمان داده ها
- سی شارپ
- شبکه و مجازی سازی
- طراحی الگوریتم
- طراحی بازی
- طراحی وب
- فتوشاپ
- فریم ورک codeigniter
- فلاتر
- کاتلین
- کامپایلرها
- کانستراکت
- کریستال ریپورت
- کلوژر
- گوگل آنالیتیکس
- گیت
- لاراول
- مای بی بی
- مایکروسافت پروجکت
- متریال دیزاین
- متلب
- معماری کامپیوتر
- مهندسی اینترنت
- میکروتیک
- نود جی اس
- نیوک
- هوش مصنوعی
- ویبولوتین
- ویژوال استودیو
- یونیتی
- کتاب های آموزشی
- Ada
- Ajax
- Android
- ASP.NET
- ASP.NET Core
- AVR
- clips
- CNC
- COBOL
- CQRS
- Cython
- Dreamweaver
- Elixir
- Entity Framework 4.0
- Erlang
- Go
- Groovy
- Haskell
- LINQ
- Lua
- Matlab
- MFC
- Node.js
- PERL
- php
- PLC
- Prolog
- React
- Rust
- Scala
- SFML
- SharePoint
- silver light
- VHDL
- VMware
- WinJS
- Workflow
- WPF
- XHTML
- Yii Framework
- اتوکد
- اچ تی ام ال
- اسمبلی
- اکتیو ایکس
- الگوریتم و فلوچارت
- انگولار
- اوبونتو
- اوراکل
- بازی سازی
- بانک اطلاعاتی
- برنامه نویسی سوکت
- برنامه نویسی موبایل
- بک ترک
- پاسکال
- پایان نامه
- پایتون
- پرولوگ
- جاوا
- جاوا اسکریپت
- جی کوئری
- حوملا
- داده کاوی
- دلفی
- رباتیک
- روبی
- زبان ماشین
- سئو
- ساختمان داده ها
- سایر کتاب ها
- سخت افزار
- سوئیفت
- سی اس اس
- سی پلاس پلاس
- سی شارپ
- سیستم عامل
- سیستم های خبره
- شبکه و مجازی سازی
- شبیه سازی کامپیوتر
- طراحی الگوریتم
- فتوشاپ
- فریم ورک گتنا
- کاتلین
- کالی لینوکس
- کریستال ریپورت
- گزارش کارآموزی
- گوگل
- لیسپ
- متلب
- مقاله
- مهندسی نرم افزار
- نیوک
- هوش مصنوعی
- وب مستر
- ویژوال بیسیک
- نرم افزار و ابزار برنامه نویسی
- وردپرس