এ্যারে

Last updated 3 months ago

গো ল্যাঙ্গুয়েজে এ্যারে হলো একই ধরনের আইটেমের সমষ্টি বা তালিকা । এবং এর আইটেম সংখ্যা নির্দিষ্ট থাকে । অর্থাৎ এ্যারে হয় ফিক্সড সাইজ ।

এ্যারে ডিফাইন করা খুবই সহজ । প্রথমে var কিওয়ার্ড, এরপর ভ্যারিয়েবল এর নাম এবং শেষে স্কোয়ার ব্র্যাকেট [] এর মধ্যে এ্যারের সাইজ এবং ব্র্যাকেট শেষে এ্যারের টাইপ ।

var a [5]int

এখানে a হলো একটি এ্যারে যেখানে আমরা ৫টি ইন্টিজার ভ্যালু সংরক্ষণ করতে পারি । গো ও জিরো বেইজড ইনডেক্স ফলো করে । অর্থাৎ প্রথম এলিমেন্টটির পজিশন হয় 0 । সুতরাং শেষ এলিমেন্টটি আমরা এ্যাক্সেস করতে পারি এভাবে -

a[4] = 100
fmt.Println("get:", a[4])

এখানে আমরা শেষ এলিমেন্টটির ভ্যালু হিসেবে 100 সেট করে দিচ্ছি । বিল্ট ইন len ফাংশনটি ব্যবহার করে আমরা এ্যারের সাইজ জানতে পারি ।

fmt.Println("len:", len(a))

আমরা চাইলে এ্যারে ডিক্লেয়ারেশনের পর কার্লি ব্রেইসের মধ্যে আইটেম গুলো ডিফাইন করে দিতে পারি । এভাবে আমরা নিচের মত করে একই সাথে এ্যারে ডিক্লেয়ার এবং তার ভ্যালুগুলো সেট করে দেই:

b := [5]int{1, 2, 3, 4, 5}
fmt.Println("dcl:", b)

মাল্টিডাইমেনশনাল এ্যারের জন্য প্রয়োজনীয় সংখ্যক স্কোয়ার ব্র্যাকেট যোগ করে সেগুলোর মধ্যে ঐ ডাইমেনশনে আইটেম সংখ্যা নির্দেশ করলেই হয় । যেমন:

var twoD [2][3]int

আমরা এর ভ্যালু গুলো ফর লুপ ব্যবহার করে এ্যাসাইন করে দিতে পারি:

for i := 0; i < 2; i++ {
for j := 0; j < 3; j++ {
twoD[i][j] = i + j
}
}
fmt.Println("2d: ", twoD)

তবে সাধারনত গো তে আমরা এ্যারের চেয়ে স্লাইস বেশি ব্যবহার করে থাকি । পরবর্তী চ্যাপ্টারে আমরা স্লাইস নিয়ে দেখবো ।