您可以执行与在 Python 中相同的操作:
word := "helloujjkk"
for i:=0;i<len(word)-1;i++ {
if word[i]==word[i+1] {
fmt.Println(string(word[i]))
}
}
但是,如果您的单词包含多字节字符,这将会中断。Go 中的字符串索引将字符串视为字节数组,word[i]字符串的第 i 个字节也是如此。这不一定是第 i 个字符。
更好的解决方案是保留从字符串中读取的最后一个字符:
var last rune
for i,c:=range word {
if i>0 && c==last {
fmt.Println(string(c))
}
last=c
}
}
字符串上的范围将迭代字符串的符文,而不是字节。因此,即使字符串包含多字节字符,此版本也是正确的。
芜湖不芜
相关分类