在 Go 中,[]uint8
实际上就是一个 byte
数组(也可以看作是字符串的字节数组),因此我们可以使用下标运算符 []
来访问其中的元素。例如:
package main
import "fmt"
func main() {
bytes := []uint8{97, 98, 99} // 对应 "abc"
fmt.Println(bytes[0]) // Output: 97
fmt.Println(bytes[1]) // Output: 98
fmt.Println(bytes[2]) // Output: 99
for i := range bytes {
fmt.Printf("%d ", bytes[i])
}
// Output: 97 98 99
}
上述代码中,我们创建了一个 []uint8
类型的变量 bytes
,它包含了三个 byte 元素(对应 ASCII 码中的字符 ‘a’、’b’ 和 ‘c’)。然后,我们分别使用下标运算符来获取其中第一个、第二个和第三个元素,并将它们打印输出。最后,我们使用 range
关键字遍历整个数组,并打印输出其中的所有元素。
需要注意的是,在处理 []uint8
变量时,一定要清楚它实际上是一个 byte 数组而不是字符串类型。如果你希望将其转换成字符串,则可以使用以下方式:
package main
import "fmt"
func main() {
bytes := []uint8{97, 98, 99} // 对应 "abc"
str := string(bytes)
fmt.Println(str) // Output: abc
}
上述代码中,我们使用 string
函数将 []uint8
类型的变量 bytes
转换成了字符串类型,并将其打印输出。