آموزش ساخت ابزار CLI با کتابخانه Cobra در زبان Go
مقدمه
ابزارهای خط فرمان (CLI) یکی از پرکاربردترین و محبوبترین روشها برای تعامل با نرمافزارها هستند. زبان برنامهنویسی Go به خاطر سرعت، سادگی و قابلیتهای بالای خود، گزینهای عالی برای توسعه ابزارهای CLI محسوب میشود. در این مقاله، نحوه ساخت یک ابزار CLI ساده با استفاده از کتابخانه Cobra را مرحله به مرحله توضیح میدهیم.
چرا Cobra؟
کتابخانه Cobra یکی از معروفترین و قدرتمندترین فریمورکها برای ساخت ابزارهای CLI در Go است. این کتابخانه امکانات زیر را فراهم میکند:
- مدیریت دستورات و زیر دستورات.
- تولید خودکار مستندات.
- پشتیبانی از فلگها (Flags) برای تنظیمات.
مراحل ساخت ابزار CLI
1. نصب Cobra
ابتدا باید کتابخانه Cobra را نصب کنید. برای این کار دستور زیر را اجرا کنید:
go get -u github.com/spf13/cobra/cobra
این دستور، ابزار cobra
را روی سیستم شما نصب میکند.
2. ایجاد پروژه جدید
یک پوشه جدید برای پروژه خود ایجاد کرده و وارد آن شوید:
mkdir mycli
cd mycli
سپس ماژول Go را مقداردهی اولیه کنید:
go mod init mycli
این دستور فایل go.mod
را ایجاد میکند که وابستگیهای پروژه را مدیریت میکند.
3. ایجاد اسکلت اولیه پروژه با Cobra
با استفاده از ابزار cobra
اسکلت اولیه پروژه CLI خود را ایجاد کنید:
cobra init --pkg-name mycli
این دستور پوشهها و فایلهای مورد نیاز مانند main.go
و ساختار پایه پروژه را ایجاد میکند.
4. افزودن دستورات جدید
برای افزودن یک دستور جدید به ابزار CLI، از دستور زیر استفاده کنید:
cobra add greet
این کار فایل جدیدی مانند greet.go
ایجاد میکند که مربوط به دستور اضافهشده است.
در فایل greet.go
، کد مربوط به اجرای دستور greet
را اضافه کنید:
package cmd
import (
"fmt"
"github.com/spf13/cobra"
)
var greetCmd = &cobra.Command{
Use: "greet",
Short: "چاپ پیام خوشامدگویی",
Run: func(cmd *cobra.Command, args []string) {
fmt.Println("سلام! خوش آمدید به ابزار CLI ما")
},
}
func init() {
rootCmd.AddCommand(greetCmd)
}
در اینجا، هر بار که کاربر دستور greet
را اجرا کند، پیام خوشامدگویی چاپ خواهد شد.
5. اجرای پروژه CLI
برای اجرای پروژه، کافی است وارد پوشه اصلی شده و دستور زیر را اجرا کنید:
go run main.go greet
نتیجه باید مشابه زیر باشد:
سلام! خوش آمدید به ابزار CLI ما
نتیجهگیری و نکات پایانی
ساخت ابزارهای خط فرمان با استفاده از کتابخانه Cobra بسیار ساده است و شما میتوانید آن را برای پروژههای کوچک تا بزرگ خود گسترش دهید. علاوه بر این، قابلیت اضافه کردن فلگها، مستندات و مدیریت دستورات پیچیدهتر نیز وجود دارد. اگر علاقهمند هستید که ابزارهای پیشرفتهتری بسازید، پیشنهاد میکنیم مستندات رسمی Cobra را مطالعه کنید.