状況:
入力された文字を表示せずにユーザーからパスワードを取得していますは一般的な要件です。 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 中国語 Web サイトの他の関連記事を参照してください。