Go 获取字符串索引处的字符
为什么会出现错误Go 获取字符串索引处的字符,go,Go,为什么会出现错误无法在赋值中使用s[0](类型字节)作为类型字符串?据我所知,s属于string类型,为什么访问字符会将其转换为byte类型?让我们看看其中一位Go设计师是如何看待的: 在Go中,字符串实际上是一个只读的字节片。如果你不确定字节片是什么或者它是如何工作的,请阅读之前的博文;我们在这里假设你有 重要的是要提前声明字符串包含任意字节。它不需要保存Unicode文本、UTF-8文本或任何其他预定义格式。就字符串的内容而言,它完全等同于字节片 显然,在你的例子中,s[0]是一种字节类型,
无法在赋值中使用s[0](类型字节)作为类型字符串?据我所知,s
属于string
类型,为什么访问字符会将其转换为byte
类型?让我们看看其中一位Go设计师是如何看待的:
在Go中,字符串实际上是一个只读的字节片。如果你不确定字节片是什么或者它是如何工作的,请阅读之前的博文;我们在这里假设你有
重要的是要提前声明字符串包含任意字节。它不需要保存Unicode文本、UTF-8文本或任何其他预定义格式。就字符串的内容而言,它完全等同于字节片
显然,在你的例子中,s[0]
是一种字节类型,如果你真的需要赋值,你需要显式的大小写。将s[0]转换为字符串有效吗?因为s[0]
是一个字节,而不是字符串。您是否确定只对字节进行操作,还是应该对utf8符文进行操作?的可能重复。的可能重复如果您已经解决了自己的问题,请提供自己的答案。
func lengthOfLongestSubstring(s string) {
match := make(map[string]int)
var current string
current = s[0]
if match[current] == 1 {
///
}
}
func lengthOfLongestSubstring(s string) {
strArr:=[]rune(s)
fmt.Println(string(strArr[0]))
}