From b55e4c503fb8229c14f222ff94e119e1084f00de Mon Sep 17 00:00:00 2001 From: mudabbir-ahmad Date: Fri, 17 Jul 2026 01:28:20 +0100 Subject: [PATCH] Terminal reading --- TerminalTest/main.go | 39 +++++++++++++++++++++++++++++++++++++++ go.mod | 9 +++++++++ 2 files changed, 48 insertions(+) create mode 100644 TerminalTest/main.go diff --git a/TerminalTest/main.go b/TerminalTest/main.go new file mode 100644 index 0000000..3eaf12b --- /dev/null +++ b/TerminalTest/main.go @@ -0,0 +1,39 @@ +package main + +import ( + "bufio" + "fmt" + "os" + "strings" +) + +func check(e error) { + if e != nil { + panic(e) + } +} + +func main() { + reader := bufio.NewReader(os.Stdin) + + // 1. Ask for Username + fmt.Print("Username: ") + usernameInput, err := reader.ReadString('\n') + + check(err) + username := strings.TrimSpace(usernameInput) + + // 2. Ask for Password (with asterisk masking) + fmt.Print("Password: ") + passwordIn, _ := reader.ReadString('\n') + password := string(passwordIn) + + // 3. Output results + fmt.Println("\n--- Result ---") + fmt.Println("Username:", username) + fmt.Println("Password:", password) + + fmt.Print("The delim should cause you to end the line whenever you press back slash, then hit enter: \n") + test, _ := reader.ReadString('\\') + fmt.Println("You entered:", test) +} diff --git a/go.mod b/go.mod index e8b0a29..8cc4c18 100644 --- a/go.mod +++ b/go.mod @@ -1 +1,10 @@ module LearningGo + +go 1.26.5 + +require ( + github.com/howeyc/gopass v0.0.0-20210920133722-c8aef6fb66ef // indirect + golang.org/x/crypto v0.54.0 // indirect + golang.org/x/sys v0.47.0 // indirect + golang.org/x/term v0.45.0 // indirect +)