آموزش زبان GO - بخش دوم : دستوری برای ساخت یک ماژول

در قسمت قبل ما موفق به ساخت اولین برنامه در زبان Go شدیم. در این جلسه قصد داریم تا ساختار پروژه را صحیح و ماژولار پیش ببریم و در رابطه با امکان بسیار جالبی در این زبان صحبت کنیم که به ما اجازه ساخت کد بدون در گیر شدن با پکیج‌ها و بسته های نصبی را میدهد

·۵ دقیقه برای خواندن
آموزش زبان GO - بخش دوم : دستوری برای ساخت یک ماژول

به دنبال چه چیزی هستیم؟

اگر تا به حال با زبان پایتون کار کرده باشید قطعا متوجه وجود فایل به نام requirements.txt شده اید اما این فایل دقیقا چیست؟

فرض کنید امروز قرار است برای خرید به فروشگاهی مراجعه کنید. بهترین راه برای اینکه تمام اقلام مورد نیاز را بخرید بدون فکر کردن و سردرگمی این که همراه خودتا یک لیست خرید داشته باشید. هر چیزی که لازم دارید با تعداد در آن بنویسید. با این وجود شما دقیقا هر آنچه لازم دارید را به راحتی تهیه می‌کنید. وظیفه فایل requirements.txt در زبان پایتون یا package.json در زبان جاوااسکریپت دقیقا شبیه به همان لیست خرید است.

نمونه‌ای از فایل requirements.txt

django >= 5.x
matplotlib

این لیست به ما می‌گوید از چه پکیجی مثلا Django کدام ورژن را لازم داریم.

از ‌GO بگو

حالا که با مفهوم اصلی آشنا شدیم بهتره به سراغ استفاده از آن در زبان Go بریم. ساختار پروژه ما تا این لحظه چیزی شبیه به این است

codepedia-go
└── main.go

پوشه کدها را طبق معمول در VSCode باز میکنیم. از منوی Terminal > New Terminal یک ترمینال جدید باز میکنیم. حالا کامند زیر را در آن مینویسیم

go mod init codepedia-go

اگر همه چیز موفقیت آمیز بوده باشد شما پیغام زیر را خواهید دید.

go: creating new go.mod: module codepedia-go
go: to add module requirements and sums:
        go mod tidy

و ساختار پروژه تا این لحظه با این شکل تبدیل خواهد شد.

codepedia-go
├── go.mod
└── main.go

اگر فایل go.mod را باز کنید کدهایی شبیه به زیر را در آن خواهید دید. که در آن نام پروژه و البته ورژن زبان go تا این لحظه برای شما نوشته شده است.

module codepedia-go

  

go 1.25.0

نکته پایانی

چرا اصلا این کار اهمیت دارد؟ بیشتر مواقع ما نیاز داریم تا کدهای نوشته شده را در کامپیوتر دیگری اجرا یا ذخیره کنیم. ساده ترین نمونه این مثال استفاده از GitHub است. فرض کنید امروز یک پروژه جدید را شروع کرده‌اید که برای انجام شدن کارها در آن نیاز به چند پکیج اضافی دارید. خب اول از همه باید پکیج‌ها را نصب کنید. از کجا!؟ قطعا از اینترنت، این کار در هر کامپیوتر دیگری هم ممکن است. به زبان ساده شما در یک کامپیوتر دیگر فقط نیاز به کدها دارید نه نیاز به تمام نیازمندی‌ها (dependencies) شما می‌تواید به راحتی آنها از اینترنت دانلود کنید اگر بدانید دقیقا به چه چیزی احتیاج دارید.