Go-তে Arrays এর ডিক্লারেশন এবং Initialization
১. Arrays (এরে)
Go প্রোগ্রামিং ভাষায়, Array একটি ডেটা স্ট্রাকচার যা একই ধরনের উপাদান বা ডেটা আইটেমগুলির একটি নির্দিষ্ট আকারের সংগ্রহ। এটি একটি ফিক্সড সাইজের (অস্থির আকারের) ডেটা স্ট্রাকচার, অর্থাৎ একবার একটি array এর আকার নির্ধারণ করা হলে, তার সাইজ পরিবর্তন করা যায় না।
২. Array ডিক্লারেশন
Go-তে array ডিক্লেয়ার করার জন্য দুটি প্রধান উপায় রয়েছে:
- ফিক্সড আকারের array ডিক্লেয়ার করা
- ইনিশিয়ালাইজড array ডিক্লেয়ার করা
২.১ Array ডিক্লারেশন সিনট্যাক্স
Array ডিক্লেয়ার করার সাধারণ সিনট্যাক্স হলো:
var arrayName [size]Typeএখানে:
arrayName: array এর নামsize: array এর আকার (এটি ফিক্সড থাকতে হবে)Type: array এর উপাদানগুলির টাইপ (যেমন: int, string, float64)
২.২ Array ডিক্লেয়ার করার উদাহরণ
package main
import "fmt"
func main() {
// একটি ইন্টিজার টাইপের array ডিক্লেয়ার করা
var numbers [5]int
// array এর মান সেট করা
numbers[0] = 10
numbers[1] = 20
numbers[2] = 30
numbers[3] = 40
numbers[4] = 50
// array প্রিন্ট করা
fmt.Println(numbers) // আউটপুট: [10 20 30 40 50]
}এখানে, numbers নামের একটি int টাইপের array ডিক্লেয়ার করা হয়েছে যার আকার ৫। এরপর numbers array এর প্রতিটি উপাদানে মান সেট করা হয়েছে এবং এটি আউটপুট করা হয়েছে।
৩. Array Initialization (ইনিশিয়ালাইজেশন)
Go-তে array ইনিশিয়ালাইজ করার জন্য আপনি নিম্নলিখিত পদ্ধতিগুলি ব্যবহার করতে পারেন:
- Manually Initialization (ম্যানুয়ালি ইনিশিয়ালাইজ)
- Implicit Initialization (ইমপ্লিসিট ইনিশিয়ালাইজ)
৩.১ Manually Array Initialization (ম্যানুয়ালি ইনিশিয়ালাইজ করা)
আপনি array এর মান সরাসরি ডিক্লেয়ারেশনের সময় সেট করতে পারেন।
package main
import "fmt"
func main() {
// Manually Initialization (ম্যানুয়ালি ইনিশিয়ালাইজ)
var numbers = [5]int{10, 20, 30, 40, 50}
// array প্রিন্ট করা
fmt.Println(numbers) // আউটপুট: [10 20 30 40 50]
}এখানে, numbers array-কে সরাসরি ৫টি ইন্টিজার মান দিয়ে ইনিশিয়ালাইজ করা হয়েছে।
৩.২ Implicit Array Initialization (ইমপ্লিসিট ইনিশিয়ালাইজ করা)
Go তে, আপনি implicit initialization ব্যবহার করে array ইনিশিয়ালাইজ করতে পারেন, যেখানে array এর সাইজ স্বয়ংক্রিয়ভাবে গণনা করা হয়।
package main
import "fmt"
func main() {
// Implicit Initialization (ইমপ্লিসিট ইনিশিয়ালাইজ)
numbers := [...]int{10, 20, 30, 40, 50}
// array প্রিন্ট করা
fmt.Println(numbers) // আউটপুট: [10 20 30 40 50]
}এখানে, [...] দ্বারা Go কম্পাইলার numbers array এর সাইজ নিজে থেকে নির্ধারণ করবে (যেহেতু ৫টি উপাদান দেওয়া হয়েছে, সাইজ হবে ৫)।
৩.৩ Partial Initialization (আংশিক ইনিশিয়ালাইজ করা)
আপনি array এর কিছু উপাদানও ইনিশিয়ালাইজ করতে পারেন এবং বাকী উপাদানগুলির জন্য ডিফল্ট মান পাবেন (যেমন: 0 for int, "" for string)।
package main
import "fmt"
func main() {
// Partial Initialization (আংশিক ইনিশিয়ালাইজ)
numbers := [5]int{10, 20}
// array প্রিন্ট করা
fmt.Println(numbers) // আউটপুট: [10 20 0 0 0]
}এখানে, numbers array এর প্রথম দুটি মান ১০ এবং ২০ দিয়ে ইনিশিয়ালাইজ করা হয়েছে, বাকী তিনটি উপাদান ডিফল্ট মানে থাকবে (যেহেতু array টাইপ int, তাদের মান হবে 0)।
৪. Array Length
Go-তে array-এর দৈর্ঘ্য (Length) len() ফাংশন দিয়ে বের করা হয়। এটি array এর উপাদানের সংখ্যা প্রদান করে।
package main
import "fmt"
func main() {
numbers := [5]int{10, 20, 30, 40, 50}
fmt.Println("Length of array:", len(numbers)) // আউটপুট: 5
}এখানে, len(numbers) array numbers এর দৈর্ঘ্য ৫ প্রদান করবে।
৫. Multi-dimensional Arrays (মাল্টি-ডাইমেনশনাল অ্যারে)
Go-তে একাধিক মাত্রার (Multi-dimensional) array তৈরি করা সম্ভব। এটি একাধিক array কে একত্রিত করে একটি ২D বা ৩D array তৈরি করে।
৫.১ ২D Array (টেবিল আকারের অ্যারে)
package main
import "fmt"
func main() {
// 2D Array ইনিশিয়ালাইজ করা
var matrix [2][3]int = [2][3]int{
{1, 2, 3},
{4, 5, 6},
}
// 2D Array প্রিন্ট করা
fmt.Println(matrix) // আউটপুট: [[1 2 3] [4 5 6]]
}এখানে, matrix একটি ২D array যা দুটি row এবং তিনটি column ধারণ করে।
সারসংক্ষেপ
- Array ডিক্লারেশন: Go-তে array ডিক্লেয়ার করার সময় তার আকার এবং টাইপ অবশ্যই নির্ধারণ করতে হয়।
- Array Initialization: Array ইনিশিয়ালাইজ করার জন্য আপনি ম্যানুয়ালি, ইমপ্লিসিটলি অথবা আংশিকভাবে ইনিশিয়ালাইজ করতে পারেন।
- Length of Array:
len()ফাংশন ব্যবহার করে array এর দৈর্ঘ্য পাওয়া যায়। - Multi-dimensional Arrays: Go-তে একাধিক মাত্রার array (যেমন ২D বা ৩D) তৈরি করা যায়, যা অ্যারেগুলোর সংমিশ্রণ হয়।
Go তে Arrays ব্যবহারের মাধ্যমে আপনি একই টাইপের ডেটাগুলিকে একটি সংগঠিত আকারে সংরক্ষণ করতে পারেন এবং ডেটার কার্যকরী ব্যবস্থাপনা করতে পারেন।
Read more