Situasi:
Mengambil kata laluan daripada pengguna tanpa memaparkan aksara yang dimasukkan adalah keperluan biasa. Bagaimanakah ini boleh dicapai dalam Go?
Penyelesaian:
Go tidak menawarkan fungsi getpasswd secara langsung. Walau bagaimanapun, pendekatan berikut berjaya menyelesaikan tugas dengan berkesan:
Contoh:
package main import ( "bufio" "fmt" "golang.org/x/term" "os" "strings" ) func main() { u, p, _ := credentials() fmt.Printf("Username: %s, Password: %s\n", u, p) } func credentials() (string, string, error) { fmt.Print("Enter Username: ") r := bufio.NewReader(os.Stdin) u, err := r.ReadString('\n') if err != nil { return "", "", err } fmt.Print("Enter Password: ") bp, err := term.ReadPassword(int(syscall.Stdin)) if err != nil { return "", "", err } p := string(bp) return strings.TrimSpace(u), strings.TrimSpace(p), nil }
Coretan kod ini menunjukkan proses mendapatkan nama pengguna dan kata laluan daripada pengguna tanpa memaparkan aksara kata laluan.
Atas ialah kandungan terperinci Bagaimana untuk Melaksanakan Kemasukan Kata Laluan Tidak Bergema dalam Go?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!