73 lines
		
	
	
		
			1.3 KiB
		
	
	
	
		
			Go
		
	
	
	
	
	
		
		
			
		
	
	
			73 lines
		
	
	
		
			1.3 KiB
		
	
	
	
		
			Go
		
	
	
	
	
	
|   | // For more tutorials: https://blog.learngoprogramming.com | ||
|  | // | ||
|  | // Copyright © 2018 Inanc Gumus | ||
|  | // Learn Go Programming Course | ||
|  | // License: https://creativecommons.org/licenses/by-nc-sa/4.0/ | ||
|  | // | ||
|  | 
 | ||
|  | package main | ||
|  | 
 | ||
|  | import ( | ||
|  | 	"fmt" | ||
|  | 	"os" | ||
|  | ) | ||
|  | 
 | ||
|  | // --------------------------------------------------------- | ||
|  | // CHALLENGE #2 | ||
|  | //  Add one more user to the PassMe program below. | ||
|  | // | ||
|  | // EXAMPLE USERS | ||
|  | //  username: jack | ||
|  | //  password: 1888 | ||
|  | // | ||
|  | //  username: inanc | ||
|  | //  password: 1879 | ||
|  | // | ||
|  | // EXPECTED OUTPUT | ||
|  | //  go run main.go | ||
|  | //    Usage: [username] [password] | ||
|  | // | ||
|  | //  go run main.go hacker 42 | ||
|  | //    Access denied for "hacker". | ||
|  | // | ||
|  | //  go run main.go jack 1888 | ||
|  | //    Access granted to "jack". | ||
|  | // | ||
|  | //  go run main.go inanc 1879 | ||
|  | //    Access granted to "inanc". | ||
|  | // | ||
|  | //  go run main.go jack 1879 | ||
|  | //    Invalid password for "jack". | ||
|  | // | ||
|  | //  go run main.go inanc 1888 | ||
|  | //    Invalid password for "inanc". | ||
|  | // --------------------------------------------------------- | ||
|  | 
 | ||
|  | const ( | ||
|  | 	usage    = "Usage: [username] [password]" | ||
|  | 	errUser  = "Access denied for %q.\n" | ||
|  | 	errPwd   = "Invalid password for %q.\n" | ||
|  | 	accessOK = "Access granted to %q.\n" | ||
|  | 	user     = "jack" | ||
|  | 	pass     = "1888" | ||
|  | ) | ||
|  | 
 | ||
|  | func main() { | ||
|  | 	args := os.Args | ||
|  | 
 | ||
|  | 	if len(args) != 3 { | ||
|  | 		fmt.Println(usage) | ||
|  | 		return | ||
|  | 	} | ||
|  | 
 | ||
|  | 	u, p := args[1], args[2] | ||
|  | 
 | ||
|  | 	if u != user { | ||
|  | 		fmt.Printf(errUser, u) | ||
|  | 	} else if p != pass { | ||
|  | 		fmt.Printf(errPwd, u) | ||
|  | 	} else { | ||
|  | 		fmt.Printf(accessOK, u) | ||
|  | 	} | ||
|  | } |