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 = truePerintah 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
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
- Dasar-Dasar Cobra
- Flag dan Flag Persisten
- Subperintah dan Grup Perintah
- Mendistribusikan Alat CLI