Принять символ из консоли и отобразить его следующий символ - PullRequest
0 голосов
/ 11 марта 2019

Я хочу написать программу, которая принимает символ из консоли и отображает его следующий символ.

Это то, что я пробовал:

package main

import (
    "fmt"
)

func main() {

    var ch int32
    fmt.Printf("Enter Char : ")
    fmt.Scan(&ch)

    ch++

    fmt.Printf("Next Char is %s ", string(ch))

}

1 Ответ

1 голос
/ 11 марта 2019

«Символы» в Go называются рунами , а rune является псевдонимом для int32. Вам нужно два изменения:

  1. Сканирование с правильным глаголом (ваш Scan действительно не работает - проверьте на ошибки!)
  2. Печатать с правильным глаголом

Вот расширенный пример:

package main

import (
    "fmt"
    "log"
)

func main() {

    var ch rune
    fmt.Printf("Enter Char : ")
    _, err := fmt.Scanf("%c", &ch)
    if err != nil {
        log.Fatal(err)
    }

    fmt.Printf("ch = %x\n", ch)
    ch++
    fmt.Printf("ch+1 = %x\n", ch)
    fmt.Printf("Next char is %c\n", ch)
}

Пример сеанса:

Enter Char : a
ch = 61
ch+1 = 62
Next char is b

Обязательно прочитайте это официальное сообщение в блоге Go , чтобы лучше понять, как взаимодействуют руны и строки.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...