我正在尝试解决几个示例编程问题,以熟悉这门语言。
我正在迭代一个字符串,如下所示:
func main() {
fullFile := "abcdDefF"
for i := 1; i < len(fullFile); i++ {
println(fullFile[i-1], fullFile[i], fullFile[i-1]-fullFile[i])
}
}在循环中,我希望获得当前符文和前一个符文之间的差异(尝试通过查找差异为== 32的任何对来识别小写-大写对。
奇怪的是,减法不能正常工作(事实上,在我期望负数的情况下,似乎会产生加法),尽管我希望它会,因为符文是由int32表示的。
发布于 2018-12-05 22:52:58
弄清楚了:返回的数据类型是一个字节。
显式转换为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)
}
}https://stackoverflow.com/questions/53634506
复制相似问题