Rumah >pembangunan bahagian belakang >Golang >Bagaimanakah Saya Mengakses dan Menghuraikan Argumen Baris Perintah dalam Go?

Bagaimanakah Saya Mengakses dan Menghuraikan Argumen Baris Perintah dalam Go?

Barbara Streisand
Barbara Streisandasal
2024-12-18 21:48:12790semak imbas

How Do I Access and Parse Command-Line Arguments in Go?

Mengakses Argumen Baris Perintah dalam Go

Dalam Go, argumen baris perintah tersedia melalui pembolehubah os.Args. Pembolehubah ini ialah kepingan rentetan yang mengandungi laluan ke boleh laku dan hujah yang dihantar kepadanya.

Sintaks:

import "os"

func main() {
    fmt.Println(len(os.Args), os.Args)
}

Output:

3 [./myprogram arg1 arg2]

Elemen pertama hirisan, os.Args[0], ialah laluan kepada yang boleh dilaksanakan. Elemen selebihnya, os.Args[1:], mengandungi argumen yang dihantar kepada atur cara.

Contoh Penggunaan:

Atur cara Go berikut membaca dan mencetak arahan -argumen baris diteruskan kepadanya:

package main

import (
    "fmt"
    "os"
)

func main() {
    for i, arg := range os.Args {
        fmt.Printf("%d: %s\n", i, arg)
    }
}

Menggunakan Bendera Pakej

Pustaka standard Go juga menyediakan pakej bendera untuk menghuraikan bendera baris arahan. Bendera boleh ditakrifkan dan kemudian digunakan untuk menghuraikan argumen input.

Sintaks:

import "flag"

var myflag bool

func init() {
    flag.BoolVar(&myflag, "myflag", false, "Enable my flag")
}

func main() {
    flag.Parse()
}

Dengan mentakrifkan bendera bernama "myflag", atur cara boleh dipanggil dengan pilihan --myflag untuk mendayakannya.

Atas ialah kandungan terperinci Bagaimanakah Saya Mengakses dan Menghuraikan Argumen Baris Perintah dalam Go?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Kenyataan:
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn