情况:
从用户处检索密码而不显示输入的字符是一个常见的要求。在 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中文网其他相关文章!