情況:
從使用者擷取密碼而不顯示輸入的字元是一個常見的要求。在 Go 中如何實現這一點?
解:
Go 不直接提供 getpasswd 功能。然而,以下方法有效地完成了任務:
範例:
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 }
此程式碼片段示範了從使用者取得使用者名稱和密碼的過程,而不顯示密碼字元。
以上是Go中如何實現非回顯密碼輸入?的詳細內容。更多資訊請關注PHP中文網其他相關文章!