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]))

}