0Pricing
Go Academy · Pelajaran

Subperintah dan Grup Perintah

Membangun hierarki CLI bertingkat

Subperintah dan Grup Perintah adalah pelajaran Go Academy gratis di CoddyKit. Ini adalah pelajaran 3 dari 4. Kamu bisa membaca pelajaran lengkapnya di bawah secara gratis — lalu praktikkan langsung di browser dengan editor kode bawaan dan tutor AI 24/7. Ini adalah bagian dari jalur belajar Go Academy, dan progresmu tersinkronisasi di web dan aplikasi CoddyKit. Kursus Go Academy mencakup 4 pelajaran total.

Perintah hierarkis

Cobra mendukung penyusunan bertingkat tanpa batas: perintah utama → subperintah → sub-subperintah. Pengguna memanggil app resource action seperti kubectl get pods.

Menambahkan subperintah

Bangun setiap subperintah sebagai cobra.Command terpisah, lalu daftarkan pada induknya:

var userCmd = &cobra.Command{Use: "user", Short: "Manage users"}
var userCreateCmd = &cobra.Command{Use: "create", Short: "Create user", RunE: createUser}
func init() {
    userCmd.AddCommand(userCreateCmd)
    rootCmd.AddCommand(userCmd)
}

Tampilan grup (Cobra v1.6+)

Tetapkan perintah ke grup tampilan dalam keluaran bantuan agar pengaturannya lebih baik:

rootCmd.AddGroup(&cobra.Group{ID: "mgmt", Title: "Management Commands"})
userCmd.GroupID = "mgmt"

Alias

Tambahkan alias agar pengguna dapat memakai nama singkat atau alternatif untuk perintah:

var userCmd = &cobra.Command{
    Use:     "user",
    Aliases: []string{"users", "u"},
}

Perintah tersembunyi

Tandai perintah penelusuran kesalahan atau internal sebagai tersembunyi agar tidak muncul dalam bantuan, tetapi tetap dapat digunakan:

cmd.Hidden = true

Perintah yang tidak digunakan lagi

Tandai perintah lama sebagai tidak digunakan lagi untuk menampilkan peringatan saat perintah tersebut digunakan:

cmd.Deprecated = "use 'new-command' instead"

Pengait sebelum dan sesudah

Gunakan PersistentPreRunE dan PostRunE untuk penyiapan dan pembersihan yang berlaku pada sebuah perintah serta semua subperintahnya (misalnya, menginisialisasi koneksi basis data sebelum subperintah apa pun dijalankan).

rootCmd.PersistentPreRunE = func(cmd *cobra.Command, args []string) error {
    return initDB()
}

Menonaktifkan bantuan untuk perintah akhir

Cobra menambahkan help sebagai subperintah secara bawaan. Nonaktifkan jika aplikasi Anda memiliki perintah bantuan sendiri atau struktur subperintahnya akan membingungkan.

rootCmd.SetHelpCommand(&cobra.Command{Hidden: true})

Mengakses perintah induk

Di dalam fungsi Run, cmd.Parent() mengembalikan perintah induk, yang berguna untuk mengakses opsi yang ditentukan pada induknya.

Penelusuran perintah

Gunakan rootCmd.Commands() untuk mengiterasi semua subperintah yang terdaftar. Ini berguna untuk introspeksi terprogram atau pembuatan dokumentasi otomatis.

Pembuatan halaman manual dan Markdown

Cobra dapat membuat halaman manual dan dokumentasi Markdown untuk semua perintah dengan paket cobra/doc:

doc.GenMarkdownTree(rootCmd, "./docs")

Pemeriksaan Singkat

Bagaimana cara membuat subperintah Cobra tersedia dengan beberapa nama?

Ringkasan: Subperintah dan Grup

Poin-poin utama:

  • AddCommand menyusun perintah secara hierarkis
  • GroupID mengatur tampilan bantuan di Cobra v1.6+
  • Alias untuk bentuk singkat; Hidden untuk perintah internal
  • PersistentPreRunE untuk penyiapan bersama di seluruh subperintah

Pertanyaan yang Sering Diajukan

Apakah pelajaran “Subperintah dan Grup Perintah” gratis?

Ya — teks lengkap “Subperintah dan Grup Perintah” gratis dibaca di sini di web. Untuk praktiknya secara interaktif (editor kode bawaan dan tutor AI 24/7) dan buka sisa kursus Go Academy, upgrade ke CoddyKit PRO. Kursus Go Academy mencakup 4 pelajaran total.

Apa yang akan aku pelajari di “Subperintah dan Grup Perintah”?

Membangun hierarki CLI bertingkat Kamu berlatih Go Academy dengan kode praktik yang langsung kamu jalankan di browser, dan tutor AI 24/7 menjawab pertanyaanmu saat kamu mengerjakan pelajaran ini.

Apakah aku perlu pengalaman untuk memulai Go Academy?

Tidak diperlukan pengalaman sebelumnya. Go Academy di CoddyKit dirancang untuk pemula hingga pelajar tingkat lanjut, jadi kamu bisa memulai di sini atau dari awal dan belajar sesuai kecepatan kamu sendiri. Ini adalah pelajaran 3 dari 4.

Berapa lama pelajaran “Subperintah dan Grup Perintah” memakan waktu?

Sebagian besar pelajaran CoddyKit memakan waktu sekitar 5–10 menit. Setiap pelajaran ringkas dan interaktif, jadi kamu membuat kemajuan stabil dan melanjutkan dari tempat kamu tinggalkan di web dan aplikasi.

Bisakah aku menulis dan menjalankan kode dalam pelajaran Go Academy ini?

Ya. Setiap pelajaran Go Academy menyertakan editor kode bawaan, jadi kamu menulis dan menjalankan kode nyata langsung di browser dan mendapatkan umpan balik AI instan — tidak diperlukan penyiapan lokal.

Semua pelajaran dalam kursus ini

  1. Dasar-Dasar Cobra
  2. Flag dan Flag Persisten
  3. Subperintah dan Grup Perintah
  4. Mendistribusikan Alat CLI
← Kembali ke Go Academy