Dunaevlad
@Dunaevlad

Почему выдает ошибку — переменная input объявлена, но не используется?

func main() {
	var input string // переменная используется в блоке for
	var bookmakers string
	fmt.Println(`
		╔═══╗╔═══╗╔═══╗╔═══╗╔═══╗╔═══╗╔═══╗╔═══╗
		║╔═╗║╚╗╔╗║╚╗╔╗║║╔═╗║║╔═╗║║╔═╗║║╔═╗║║╔═╗║
		║║─║║─║║║║─║║║║║╚══╗║║─╚╝║║─║║║╚═╝║║╚═╝║
		║║─║║─║║║║─║║║║╚══╗║║║─╔╗║║─║║║╔╗╔╝║╔══╝
		║╚═╝║╔╝╚╝║╔╝╚╝║║╚═╝║║╚═╝║║╚═╝║║║║╚╗║║
		╚═══╝╚═══╝╚═══╝╚═══╝╚═══╝╚═══╝╚╝╚═╝╚╝
	`)
	for {

		fmt.Println()
		fmt.Println("[*] 1 - показать все доступные букмекерские конторы")
		fmt.Println("[*] 2 - показать все доступные виды ставок")
		fmt.Println("[*] 3 - показать все доступные параметры запросов вилок")
		fmt.Println("[*] 4 - показать вилки по интересующим букмекерским конторам")
		fmt.Println()
		fmt.Println("[*] Выберите необходимое Вам значение и нажмите \"Enter\"")
		fmt.Print("[*] Или введите \"Exit\" для выхода из программы: ")

		input, err := bufio.NewReader(os.Stdin).ReadString('\n') 
		if err != nil {
			log.Fatal(err)
		}
		input = strings.TrimSpace(input)

		if len(strings.Split(input, "")) > 0 {

			switch input {
			case "1":
				fmt.Println("\n", allBookmakers)
			case "2":
				fmt.Println("Soon.")
			case "3":
				fmt.Println("Soon.")
			case "4":
				fmt.Print("[*] Введите необходимые букмекерские конторы(bet365,winline) и нажмите \"Enter\": ")
				bookmakers, err = bufio.NewReader(os.Stdin).ReadString('\n') // с переменной bookmakers не возникает подобного рода ошибки
				if err != nil {
					log.Fatal(err)
				}
				bookmakers = strings.TrimSpace(bookmakers)

				if len(strings.Split(bookmakers, ",")) > 1 {
					for {
						fmt.Println()
						forks.GetForks(strings.TrimSpace(bookmakers))
						time.Sleep(1 * time.Second)
					}
				} else if len(strings.Split(bookmakers, " ")) == 1 {
					fmt.Println("[*] Должно быть не меньше 2 букмекерских контор.")
				} else {
					fmt.Println("[*] Вы ввели 0 букмекерских контор.")
				}

			case "Exit":
				os.Exit(0)
			}

		}

	}
}
  • Вопрос задан
  • 142 просмотра
Решения вопроса 2
@deliro
Ну потому что она объявлена и потому что она не используется, очевидно же.

Вот это убери
var input string // переменная используется в блоке for
Ответ написан
Lynn
@Lynn
nginx, js, css
Потому что переменная input объявлена, но не используется.
Внутри for вы используете оператор := который объявляет локальные переменные input и error. А та, которую вы объявили выше тут не используется.

https://golangdocs.com/short-variable-declaration-...
Ответ написан
Комментировать
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы