我只是出于对 golang 的兴趣在做一些算法问题。我知道在其他语言中,要按字母顺序查找下一个字符,我可以对字符进行位移,因为字符(我想到的是 C)实际上是一个数字。所以我试着做"a" >> 2或者类似的东西,但是类型不匹配。我想知道如何实现这一目标。
2 回答
慕森卡
TA贡献1806条经验 获得超8个赞
您正在尝试移动一个字符串,而不是一个字节,就像@Not_a_Golfer 所说的那样'a'>>2应该可以正常工作。
但是,要获得下一个字符,您可以执行以下操作:
func nextChar(ch byte) byte {
if ch += 1; ch > 'z' {
return 'a'
}
return ch
}
func main() {
fmt.Println(string(nextChar('a')))
}
当然,如果您需要的不仅仅是 az 支持,它会更复杂,请查看unicode包和这篇关于 go 字符串的博客文章。
- 2 回答
- 0 关注
- 149 浏览
添加回答
举报
0/150
提交
取消