প্

প্যাকেজ মধ্যে Go

১টি অনুশীলনী

প্যাকেজ সম্পর্কে

Go-তে একটি অ্যাপ্লিকেশন প্যাকেজে সাজানো হয়। একটি প্যাকেজ হলো একই ফোল্ডারে থাকা সোর্স ফাইলের সমষ্টি। একটি ফোল্ডারের সব সোর্স ফাইলের ক্ষেত্রে ফাইলের একেবারে শুরুতে একই প্যাকেজ নাম থাকতে হবে। প্রচলিত রীতি অনুযায়ী, প্যাকেজের নাম রাখা হয় সেটি যে ফোল্ডারে আছে তার নামের মতোই।

package greeting

Go-তে রয়েছে বিস্তৃত স্ট্যান্ডার্ড লাইব্রেরি, যার প্যাকেজগুলো আপনি import কিওয়ার্ড ব্যবহার করে নিজের প্রোগ্রামে ব্যবহার করতে পারেন। স্ট্যান্ডার্ড লাইব্রেরির প্যাকেজগুলো তাদের নাম দিয়েই ইমপোর্ট করা হয়।

package greeting

import "fmt"

একসাথে একাধিক প্যাকেজ ইমপোর্ট করা যায়, সেগুলোকে বন্ধনীর ভেতরে লিখে।

package greeting

import (
    "errors"
    "fmt"
)

তৃতীয় পক্ষের প্যাকেজ ইমপোর্ট করা হয় প্যাকেজটি যে ঠিকানায় রয়েছে সেই URL দিয়ে। ইমপোর্ট করার সময় একটি প্যাকেজকে অ্যালিয়াস দেওয়া যায়। এভাবে প্যাকেজ নামের সংঘর্ষ এড়ানো যায়:

package greeting

import (
	"errors"

	errs "github.com/pkg/errors"
)

এরপর ইমপোর্ট করা প্যাকেজটি ব্যবহার করা হয় তার প্যাকেজ নাম বা অ্যালিয়াস দিয়ে:

// using the internal errors package
errors.New("Connection not established")

// using the errors package located at github.com/pkg/errors by alias
errs.New("Connection not established")

অন্য প্যাকেজের কোড থেকে কোনো কিছু কল করা যাবে কি না, তা Go ঠিক করে সেটি কীভাবে ডিক্লেয়ার করা হয়েছে তা দেখে। কোনো ফাংশন, টাইপ, ভ্যারিয়েবল বা কনস্ট্যান্টকে বাইরে থেকে দৃশ্যমান করতে (যাকে বলা হয় exported) নামটি অবশ্যই বড় হাতের অক্ষর দিয়ে শুরু হতে হবে। এটি অন্য প্রোগ্রামিং ভাষার মতোই, যেমন Java, যেগুলোতে public ও private-এর মতো অ্যাক্সেস মডিফায়ার ব্যবহৃত হয়।

package greeting

// Hello is a public function (callable from other packages).
func Hello(name string) string {
    return "Hello " + name
}

// hello is a private function (not callable from other packages).
func hello(name string) string {
    return "Hello " + name
}

একই কথা প্রযোজ্য নিজে তৈরি করা struct টাইপের ফিল্ডের নামের ক্ষেত্রেও। বড় হাতের অক্ষর দিয়ে শুরু হওয়া ফিল্ডের নাম বাইরে থেকে দৃশ্যমান, আর ছোট হাতের অক্ষর দিয়ে শুরু হওয়াগুলো নয়।

GitHub-এর মাধ্যমে সম্পাদনা করুন লিংকটি নতুন একটি উইন্ডো বা ট্যাবে খুলবে

প্যাকেজ শিখুন

অনুশীলন লক করা আছে

প্যাকেজ অনুশীলন করতে আরও ১টি অনুশীলনী আনলক করুন