Rumah > pembangunan bahagian belakang > Golang > Bagaimana untuk Menyediakan Berbilang Medan Input kepada Perintah Luaran dalam Go?

Bagaimana untuk Menyediakan Berbilang Medan Input kepada Perintah Luaran dalam Go?

Mary-Kate Olsen
Lepaskan: 2024-10-30 04:16:02
asal
914 orang telah melayarinya

How to Provide Multiple Input Fields to External Commands in Go?

Go - Menulis ke Stdin untuk Perintah Luaran dengan Pelbagai Medan Input

Apabila melaksanakan arahan luaran daripada program Go, anda mungkin perlu memberikan input kepada input standard arahan (stdin). Walau bagaimanapun, apabila arahan luaran memerlukan berbilang medan input, sukar untuk menentukan cara membekalkannya dengan cara yang paling cekap dan boleh dipercayai.

Dalam contoh yang diberikan, arahan log masuk dilaksanakan dan mengharapkan pengguna untuk memasukkan dua medan secara manual: nama pengguna dan kata laluan. Untuk menyediakan input ini secara pengaturcaraan, adalah mungkin untuk menggunakan penimbal bait.

Jenis bait.Buffer dalam Go boleh digunakan untuk menahan dan memanipulasi urutan bait dalam ingatan. Dengan menulis nama pengguna dan kata laluan ke dalam penimbal dan kemudian menetapkan medan log masuk.Stdin kepada penimbal, adalah mungkin untuk membekalkan input kepada arahan tanpa interaksi pengguna.

Coretan kod yang menggambarkan pendekatan ini:

<code class="go">import (
    "bytes"
    "fmt"
    "os"
    "os/exec"
)

func main() {
    cmd := "login"

    // Prepare the byte buffer with username and password
    var b bytes.Buffer
    username := "exampleUsername"
    password := "examplePassword"
    b.Write([]byte(fmt.Sprintf("%s\n%s\n", username, password)))

    // Execute the command with stdin set to the buffer
    login := exec.Command(cmd)
    login.Stdin = &b
    login.Stdout = os.Stdout
    login.Stderr = os.Stderr

    err := login.Run()
    if err != nil {
        fmt.Fprintln(os.Stderr, err)
    }
}</code>
Salin selepas log masuk

Dengan menggunakan teknik ini, program Go secara automatik boleh memberikan input yang diperlukan kepada arahan luaran, memperkemas proses pelaksanaan dan menghapuskan keperluan untuk input pengguna manual.

Atas ialah kandungan terperinci Bagaimana untuk Menyediakan Berbilang Medan Input kepada Perintah Luaran dalam Go?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

sumber:php.cn
Kenyataan Laman Web ini
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
Artikel terbaru oleh pengarang
Tutorial Popular
Lagi>
Muat turun terkini
Lagi>
kesan web
Kod sumber laman web
Bahan laman web
Templat hujung hadapan