


Bagaimana untuk menggunakan argumen baris arahan dalam Go?
Dalam bahasa Go, parameter baris arahan ialah cara yang sangat penting untuk menghantar input kepada program dan menentukan tingkah laku masa jalan. Go menyediakan pustaka standard flag
untuk menghuraikan parameter baris arahan Artikel ini akan memperkenalkan cara menggunakan parameter baris arahan dalam Go.
Apakah parameter baris arahan?
Parameter baris arahan ialah parameter yang dihantar kepada program melalui baris arahan apabila program sedang dijalankan ia sedang berjalan. Contohnya, perintah ls
dalam Linux boleh menerima berbilang parameter baris perintah, seperti -l
untuk menyenaraikan maklumat terperinci, -a
untuk memaparkan fail tersembunyi, dsb.
Dalam Go, kita boleh menggunakan os.Args
untuk mendapatkan semua parameter baris arahan diluluskan apabila program dijalankan. os.Args
ialah kepingan rentetan, elemen pertama ialah nama program dan elemen berikut ialah parameter baris arahan. Contohnya:
package main import ( "fmt" "os" ) func main() { fmt.Println(os.Args) }
Jalankan atur cara dan masukkan dua parameter hello
dan world
:
$ go run main.go hello world
Hasil keluaran:
[/tmp/go-build3065006307/b001/exe/main hello world]
Anda boleh lihat, os.Args
Mengandungi nama program dan dua parameter baris arahan.
Gunakan bendera untuk menghuraikan parameter baris arahan
Walaupun kita boleh mendapatkan semua parameter baris arahan melalui os.Args
, dalam pembangunan sebenar, cara yang lebih fleksibel untuk menghuraikan arahan biasanya digunakan parameter baris. Pustaka standard Go menyediakan pakej flag
untuk menghuraikan argumen baris arahan. Pakej
flag
menyediakan tiga jenis parameter baris arahan: boolean, rentetan dan integer. Ketiga-tiga parameter ini boleh ditakrifkan masing-masing melalui flag.Bool()
, flag.String()
dan flag.Int()
.
Berikut ialah contoh mudah yang mentakrifkan boolean dan parameter baris arahan rentetan:
package main import ( "flag" "fmt" ) func main() { // 定义命令行参数 var ( isVerbose bool name string ) flag.BoolVar(&isVerbose, "v", false, "verbose") flag.StringVar(&name, "name", "", "name of the user") // 解析命令行参数 flag.Parse() // 输出命令行参数 fmt.Printf("isVerbose=%v, name=%s ", isVerbose, name) }
Dalam contoh di atas, kami menggunakan flag.BoolVar()
dan flag.StringVar()
masing-masing Mentakrifkan boolean dan a parameter baris arahan rentetan. Kedua-dua fungsi ini mempunyai empat parameter:
- Alamat pembolehubah yang digunakan untuk menyimpan nilai parameter baris arahan
- Nama parameter baris arahan, yang boleh satu aksara atau berbilang aksara Nama;
- Nilai lalai bagi parameter baris perintah; Selepas mentakrifkan parameter baris arahan, anda perlu memanggil fungsi
flag.Parse()
Jalankan program dan masukkan dua parameter baris arahan
: -v
$ go run main.go -v -name=Alice
-name="Alice"
Hasil keluaran: isVerbose=true, name=Alice
Kita boleh lihat,
Pakej boleh menghuraikan parameter baris arahan dengan mudah dan menyimpan nilai ke dalam pembolehubah yang sepadan.flag
Parameter baris arahan tersuai
Selain menggunakan tiga jenis parameter baris arahan yang disediakan oleh pakej
, kami juga boleh menyesuaikan beberapa jenis parameter baris arahan.flag
Sebagai contoh, kami boleh menentukan parameter baris arahan jenis kotak lungsur untuk membenarkan pengguna memilih satu daripada beberapa pilihan:
package main import ( "fmt" "github.com/AlecAivazis/survey/v2" ) func main() { // 定义下拉框选项 options := []string{"red", "blue", "green"} // 定义命令行参数 var color string prompt := &survey.Select{ Message: "Pick a color:", Options: options, } survey.AskOne(prompt, &color) // 输出命令行参数 fmt.Printf("color=%s ", color) }
Dalam contoh di atas, kami menggunakan perpustakaan pihak ketiga
Pilihan kotak lungsur ditakrifkan. Kemudian, gunakan fungsi untuk memaparkan kotak lungsur dan biarkan pengguna memilihnya. github.com/AlecAivazis/survey/v2
survey.AskOne()
Jalankan program:
$ go run main.go
Hasil output:
? Pick a color: ▸ red blue green Answer: red color=red
Kita dapat melihat bahawa pengguna boleh memilih warna daripada beberapa pilihan dan menyimpan nilai yang dipilih dalam
dalam pembolehubah.color
Ringkasan
Artikel ini menerangkan cara menggunakan parameter baris arahan dalam Go. Kami boleh menggunakan
untuk mendapatkan semua parameter baris arahan, atau kami boleh menggunakan pakej atau kaedah tersuai untuk menghuraikan parameter baris arahan. Menggunakan parameter baris arahan boleh menjadikan program kami lebih fleksibel dan lebih mudah untuk digunakan, dan juga merupakan kemahiran yang diperlukan untuk menulis alatan baris arahan berkualiti tinggi. os.Args
Atas ialah kandungan terperinci Bagaimana untuk menggunakan argumen baris arahan dalam Go?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Alat AI Hot

Undresser.AI Undress
Apl berkuasa AI untuk mencipta foto bogel yang realistik

AI Clothes Remover
Alat AI dalam talian untuk mengeluarkan pakaian daripada foto.

Undress AI Tool
Gambar buka pakaian secara percuma

Clothoff.io
Penyingkiran pakaian AI

AI Hentai Generator
Menjana ai hentai secara percuma.

Artikel Panas

Alat panas

Notepad++7.3.1
Editor kod yang mudah digunakan dan percuma

SublimeText3 versi Cina
Versi Cina, sangat mudah digunakan

Hantar Studio 13.0.1
Persekitaran pembangunan bersepadu PHP yang berkuasa

Dreamweaver CS6
Alat pembangunan web visual

SublimeText3 versi Mac
Perisian penyuntingan kod peringkat Tuhan (SublimeText3)

Topik panas



Perpustakaan yang digunakan untuk operasi nombor terapung dalam bahasa Go memperkenalkan cara memastikan ketepatannya ...

Masalah Threading Giliran di GO Crawler Colly meneroka masalah menggunakan Perpustakaan Colly Crawler dalam bahasa Go, pemaju sering menghadapi masalah dengan benang dan permintaan beratur. � ...

Perbezaan antara percetakan rentetan dalam bahasa Go: perbezaan kesan menggunakan fungsi println dan rentetan () sedang ...

Apa yang perlu saya lakukan jika label struktur tersuai di Goland tidak dipaparkan? Apabila menggunakan Goland untuk Pembangunan Bahasa GO, banyak pemaju akan menghadapi tag struktur tersuai ...

Masalah menggunakan redisstream untuk melaksanakan beratur mesej dalam bahasa Go menggunakan bahasa Go dan redis ...

Perpustakaan mana yang dibangunkan oleh syarikat besar atau projek sumber terbuka yang terkenal? Semasa pengaturcaraan di GO, pemaju sering menghadapi beberapa keperluan biasa, ...

Dua cara untuk menentukan struktur dalam bahasa Go: perbezaan antara VAR dan jenis kata kunci. Apabila menentukan struktur, pergi bahasa sering melihat dua cara menulis yang berbeza: pertama ...

GO Pointer Syntax dan menangani masalah dalam penggunaan perpustakaan Viper semasa pengaturcaraan dalam bahasa Go, adalah penting untuk memahami sintaks dan penggunaan petunjuk, terutama dalam ...
