如何找到两个符文之间的距离

时间:2018-12-05 14:26:53

标签: go

我正在尝试解决一些示例编程问题,以使自己熟悉该语言。

我正在遍历一个字符串,如下所示:

func main() {
    fullFile := "abcdDefF"

    for i := 1; i < len(fullFile); i++ {
        println(fullFile[i-1], fullFile[i], fullFile[i-1]-fullFile[i])
    }
}

在循环中,我想获取当前符文与前一个符文之间的差异(尝试通过查找差异== 32的任何对来识别小写-大写对。

奇怪的是,这种减法无法正常运行(实际上,在我期望为负数的情况下,似乎会产生加法运算),尽管我希望这样做,因为符文由int32表示。

1 个答案:

答案 0 :(得分:0)

弄清楚了:返回的数据类型是一个字节。

显式转换为int,一切正常。

func main() {
    fullFile, _ := ioutil.ReadFile("input/input.txt")
    previous := 0
    current := 0
    for i := 1; i < len(fullFile); i++ {
        previous = int(fullFile[i-1])
        current = int(fullFile[i])
        println(current, previous, current-previous)
    }
}