11、Go 基础数据类型 - byte 与 rune

作者: 温新

分类: 【Go基础】

阅读: 768

时间: 2023-07-25 16:33:06

hi,我是温新

byterune 与字符串类型有关,要对字符串类型做某些相关操作时会用到它。

在 Go 语言中,字符串 的每一个元素叫字符,如下:

  • 1、int8 类型,或者叫byte类型,代表 ASCII 码的一个字符。byte 类型是 int8 类型的别名;
  • 2、rune 类型,代表一个 UTF-8 字符,需要处理中文等赋值字符时使用。rune 类型是 int32 类型的别名。

声明 byte 和 rune

package main

import "fmt"

func main() {
    // 注意是单引号
    var str1 byte = 'h'
    var str2 rune = '世'

    fmt.Printf("%d %T\n", str1, str1)	// 113 uint8
    fmt.Printf("%d %T\n", str2, str2)	// 19990 int32
}

遍历字符串

package main

import "fmt"

func main() {
    str4 := "hello 世界"

    // 会乱码
    for i := 0; i < len(str4); i++ {
        // 输出的并不是字母,而是 ASCII 的值
        fmt.Println(string(str4[i]))
    }

    // 输出想要的结果
    for _, v := range str4 {
        fmt.Println(string(v))
    }
}
请登录后再评论