从控制台接受一个字符并显示其下一个字符

时间:2019-03-11 13:19:33

标签: go

我想编写一个程序,它从控制台接受一个字符并显示其下一个字符。

这是我尝试过的:

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 个答案:

答案 0 :(得分:1)

Go中的

“字符”称为 runes ,而runeint32的别名。您需要进行两项更改:

  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

请务必阅读this official Go blog post,以更好地了解符文和字符串如何相互作用。