package main import ( "fmt" "unicode" ) func passwordChecker(pw string) bool { pwR := []rune(pw) if len(pwR) < 8 || len(pwR) > 15 { return false } hasUpper := false hasLower := false hasNumber := false hasSymbol := false for _, v := range pwR { if unicode.IsUpper(v) { hasUpper = true } if unicode.IsLower(v) { hasLower = true } if unicode.IsNumber(v) { hasNumber = true } if unicode.IsPunct(v) || unicode.IsSymbol(v) { hasSymbol = true } } return hasUpper && hasLower && hasNumber && hasSymbol } func main() { if passwordChecker("") { fmt.Println("Password good") } else { fmt.Println("Password bad") } if passwordChecker("This!I5A") { fmt.Println("Password good") } else { fmt.Println("Password bad") } }