Go-তে Custom Packages তৈরি করা
Go-তে Custom Packages তৈরি করা খুবই সহজ এবং এটি কোডের পুনঃব্যবহারযোগ্যতা এবং মডুলারিটি নিশ্চিত করতে সাহায্য করে। আপনি যখন একটি বড় প্রজেক্ট তৈরি করেন, তখন কোডের নির্দিষ্ট অংশগুলিকে আলাদা আলাদা প্যাকেজে ভাগ করে রাখতে পারেন, যা কোডের পরিস্কারতা এবং রক্ষণাবেক্ষণযোগ্যতা বৃদ্ধি করে।
এখানে আমরা দেখব কিভাবে Go-তে Custom Packages তৈরি করা হয় এবং সেগুলির মধ্যে কীভাবে ফাংশন, ভেরিয়েবল এবং struct ভাগ করা যায়।
১. Custom Package তৈরি করা
Go-তে একটি নতুন প্যাকেজ তৈরি করতে, আপনি একটি নতুন ডিরেক্টরি তৈরি করেন এবং সেখানে .go ফাইল রাখেন, তারপর সেগুলিতে আপনার কোড লিখে প্যাকেজ নাম উল্লেখ করেন।
১.১ প্যাকেজ ডিরেক্টরি এবং ফাইল তৈরি করা
ধরা যাক আপনি একটি প্যাকেজ তৈরি করতে চান যার নাম mathutils। প্রথমে একটি ডিরেক্টরি তৈরি করুন এবং সেখানে একটি ফাইল রাখুন।
/myproject
/mathutils
mathutils.go
main.goএখানে mathutils একটি সাবডিরেক্টরি যা আমাদের কাস্টম প্যাকেজ ধারণ করবে, এবং main.go ফাইলটি মূল প্রোগ্রাম হবে।
২. Custom Package এর ভিতরে কোড লেখা
২.১ mathutils প্যাকেজ তৈরি করা
mathutils.go ফাইলের ভিতরে একটি প্যাকেজ mathutils তৈরি করুন এবং এর মধ্যে কিছু ফাংশন রাখুন।
// mathutils/mathutils.go
package mathutils
// ফাংশন যা দুটি সংখ্যার যোগফল প্রদান করবে
func Add(a, b int) int {
return a + b
}
// ফাংশন যা দুটি সংখ্যার বিয়োগফল প্রদান করবে
func Subtract(a, b int) int {
return a - b
}এখানে, mathutils প্যাকেজে দুটি ফাংশন Add এবং Subtract তৈরি করা হয়েছে যা দুটি সংখ্যার যোগফল এবং বিয়োগফল প্রদান করবে।
৩. Main ফাইলে Custom Package ব্যবহার করা
৩.১ main.go ফাইলে mathutils প্যাকেজ ব্যবহার করা
এখন main.go ফাইলে আমরা mathutils প্যাকেজটি ইমপোর্ট করব এবং এর ফাংশন ব্যবহার করব।
// main.go
package main
import (
"fmt"
"myproject/mathutils" // mathutils প্যাকেজ ইমপোর্ট করা
)
func main() {
// mathutils প্যাকেজের ফাংশন ব্যবহার
sum := mathutils.Add(10, 20)
diff := mathutils.Subtract(20, 5)
fmt.Println("Sum:", sum) // আউটপুট: Sum: 30
fmt.Println("Difference:", diff) // আউটপুট: Difference: 15
}এখানে, myproject/mathutils প্যাকেজটি ইমপোর্ট করা হয়েছে এবং তার Add এবং Subtract ফাংশন ব্যবহার করা হয়েছে।
আউটপুট:
Sum: 30
Difference: 15৪. Package এর সাথে Struct এবং Method
একটি কাস্টম প্যাকেজে struct এবং method সংযুক্ত করা যায়। এখানে একটি Person struct তৈরি করবো এবং সেই struct এর উপর একটি method সংজ্ঞায়িত করবো।
৪.১ mathutils প্যাকেজে Struct এবং Method যোগ করা
// mathutils/mathutils.go
package mathutils
// Person struct
type Person struct {
Name string
Age int
}
// Method যা Person struct এর নাম এবং বয়স প্রিন্ট করবে
func (p Person) Info() string {
return p.Name + " is " + fmt.Sprint(p.Age) + " years old."
}এখানে, Person নামের একটি struct তৈরি করা হয়েছে, এবং Info() নামে একটি method তৈরি করা হয়েছে যা Name এবং Age প্রিন্ট করবে।
৪.২ main.go ফাইলে Struct এবং Method ব্যবহার করা
// main.go
package main
import (
"fmt"
"myproject/mathutils" // mathutils প্যাকেজ ইমপোর্ট করা
)
func main() {
// mathutils প্যাকেজের struct এবং method ব্যবহার
person := mathutils.Person{"Alice", 25}
fmt.Println(person.Info()) // আউটপুট: Alice is 25 years old.
}এখানে, mathutils.Person struct এর একটি ইনস্ট্যান্স তৈরি করা হয়েছে এবং Info() method ব্যবহার করা হয়েছে।
আউটপুট:
Alice is 25 years old.৫. Custom Package ফাইলের নাম এবং কনভেনশন
Go তে প্যাকেজের নাম সাধারনত সেই ডিরেক্টরির নাম অনুসরণ করে যেখানে প্যাকেজ সংরক্ষিত থাকে। তবে, কিছু কনভেনশন মেনে চলা উচিত:
- প্যাকেজের নাম ছোট হাতের অক্ষরে হওয়া উচিত।
- প্যাকেজ নাম সংক্ষিপ্ত এবং পরিষ্কার হওয়া উচিত।
যেমন:
mathutils(ছোট হাতের অক্ষর)stringutils(ছোট হাতের অক্ষর)
এছাড়া, Go তে প্যাকেজের মধ্যে main নামক একটি প্যাকেজ থাকে, যা সাধারণত প্রোগ্রামটির এন্ট্রি পয়েন্ট হিসেবে কাজ করে।
৬. Go Modules এবং External Packages
আপনি যখন একটি Go প্রোজেক্টে কাজ করেন, তখন সাধারণত Go Modules ব্যবহৃত হয় যাতে আপনি সহজে external packages ব্যবহার করতে পারেন। Go Modules ব্যবহারের জন্য, আপনার প্রোজেক্টে একটি go.mod ফাইল থাকতে হবে। যদি আপনি অন্য প্যাকেজ ইমপোর্ট করতে চান, তবে আপনি এই ফাইলটি ব্যবহার করে সেই প্যাকেজ ইনস্টল করতে পারেন।
৬.১ Go Modules শুরু করা
Go Modules চালু করার জন্য:
- প্রথমে আপনার প্রোজেক্ট ডিরেক্টরিতে যান।
go mod init <module_name>রান করুন।
go mod init myprojectএটি একটি go.mod ফাইল তৈরি করবে যা আপনার প্রোজেক্টের dependencies ট্র্যাক করবে।
সারসংক্ষেপ
- Custom Packages: Go তে কাস্টম প্যাকেজ তৈরি করতে, আপনি নতুন ডিরেক্টরি এবং
.goফাইল ব্যবহার করে প্যাকেজ ডিফাইন করতে পারেন। - Struct এবং Method: Go তে আপনি struct তৈরি করতে পারেন এবং সেই struct এর উপর method সংজ্ঞায়িত করতে পারেন।
- Package Import:
importকিওয়ার্ড দিয়ে আপনি অন্য প্যাকেজ ব্যবহার করতে পারেন এবং তার ফাংশন, struct, এবং method ব্যবহার করতে পারেন। - Go Modules: Go-তে external প্যাকেজ ব্যবহার করার জন্য Go Modules প্রয়োজন, যা dependency ম্যানেজমেন্ট সহজ করে।
Go তে Custom Packages ব্যবহারের মাধ্যমে আপনি আপনার কোডের পুনঃব্যবহারযোগ্যতা এবং পরিস্কারতা বাড়াতে পারবেন, যা বড় প্রোজেক্টে কোড পরিচালনা এবং রক্ষণাবেক্ষণ সহজ করে তোলে।
Read more