go byte和rune
byte是uint8的别名,rune是int32的别名
是的,在 Go 语言中,byte 和 rune 是特定类型的别名。具体来说:
-
byte是uint8的别名,表示一个无符号整数类型,其值范围是从 0 到 255。在 Go 中,byte类型经常用于表示单个字节的数据,例如在处理文本或二进制数据时。 -
rune是int32的别名,表示一个整数类型,其值范围从 -2147483648 到 2147483647。然而,在实际使用中,rune类型通常用来表示一个 Unicode 字符,其值范围通常是 0 到 1114111(即从 U+0000 到 U+10FFFF)。尽管rune的底层类型是int32,但在大多数情况下,它可以表示所有有效的 Unicode 字符。
byte 主要用于处理字节级别的数据,rune主要用于处理字符级别的数据,他们其实都是整数类型
示例代码
下面是一个简单的示例,演示了 byte 和 rune 类型的使用:
package main
import (
"fmt"
)
func main() {
// 使用 byte 类型表示单个字节
b := byte('A')
fmt.Printf("Byte value of 'A': %d\n", b)
fmt.Printf("Byte type: %T\n", b)
// 使用 rune 类型表示一个 Unicode 字符
r := rune('A')
fmt.Printf("Rune value of 'A': %d\n", r)
fmt.Printf("Rune type: %T\n", r)
// 使用 rune 类型表示一个包含多个字节的 Unicode 字符
emoji := rune('🌍') // 地球 emoji
fmt.Printf("Rune value of '🌍': %d\n", emoji)
fmt.Printf("Rune type: %T\n", emoji)
}
这段代码输出如下:
Byte value of 'A': 65
Byte type: byte
Rune value of 'A': 65
Rune type: rune
Rune value of '🌍': 127762
Rune type: rune
总结
byte类型用于表示单个字节(8 位无符号整数),在 Go 语言中通常用于处理字节流数据。rune类型用于表示 Unicode 字符(32 位整数),在 Go 语言中通常用于处理文本和字符串。

浙公网安备 33010602011771号