অন্য সব ল্যাঙ্গুয়েজে আমরা ফর
লুপ দেখেছি। মজার ব্যাপার হচ্ছে গো তে সব ধরণের লুপিংই ফর
দিয়ে করা হয়। অর্থাৎ গো তে হোয়াইল
, ডু-হোয়াইল
কিংবা ফর-ইচ
লুপ দেখা যায় না। কিন্তু এগুলোর কাজ আমরা ফর
দিয়েই চালিয়ে নিতে পারি বেশ সহজেই!
আমরা প্রথমেই আমাদের পরিচিত ফর লুপ টা দেখে নেই। এখানে:
for j := 7; j <= 9; j++ {
fmt.Println(j)
}
আউটপুট:
7
8
9
এটা আমাদের সবার পরিচিত ফর
লুপ। এখানে j
এর ভ্যালু শুরুতেই 7 দেওয়া হয়েছে, এর ভ্যালু ৯ হওয়া পর্যন্ত লুপ চলবে। প্রতিবার লুপ শেষে j
এর ভ্যালু এক বাড়িয়ে দেওয়া হচ্ছে।
অন্য নানা ল্যাঙ্গুয়েজে একটা শর্তের উপর নির্ভর করে যেভাবে হোয়াইল লুপ ব্যবহার করতাম, গো তেও আমরা কাজটা প্রায় একইভাবে করবো। শুধু পার্থক্য এখানে আমরা ফর
কিওয়ার্ডটি ব্যবহার করে হোয়াইল
লুপের কাজ করি।
package main
import "fmt"
func main() {
i := 1
for i <= 3 {
fmt.Println(i)
i = i + 1
}
}
আউটপুট:
1
2
3
প্রথমে for
এবং তারপর মূল কন্ডিশন দিতে হয়। লক্ষ্য করুন এখানে for
এর কন্ডিশনটি ডিফাইন করার সময় কোন ধরনের ব্র্যাকেট এর প্রয়োজন হয় নি। ফর
এর পর যদি একটাই শর্ত দেওয়া হয় তবে ঐ শর্তটি যতক্ষণ সত্য হবে ততক্ষণ লুপটি চলতে থাকবে।
যদি আমরা কোন কন্ডিশন না দেই তাহলে এটা ইনফিনিট লুপ এ চলতে থাকবে।
for {
fmt.Println("infinite loop")
break
}
আউটপুট:
infinite loop
লক্ষ করুন, break
কি-ওয়ার্ড ব্যবহার করার জন্য লুপটি একবার চলেই থেমে গেছে।
গো তে আমরা ফর
লুপ ব্যবহার করেই ফর ইচ লুপের কাজ করে থাকি। এটির জন্য প্রয়োজন পড়ে range
ফাংশনের। আমরা তাই range
চ্যাপ্টারে দেখবো কিভাবে আমরা ফর ইচ ব্যবহার করতে পারি।