首页 > 技术文章 > Go基础之字符类型

zhaocl 2018-01-18 11:13 原文

// ByteType project main.go
package main

import (
	"fmt"
)

func main() {
	var name string = "zhao 雷"
	length := len(name)
	for i := 0; i < length; i++ {
		ch := name[i]
		fmt.Println(i, ch)  //ch类型为byte
	}
	/*
		输出:
		0 122
		1 104
		2 97
		3 111
		4 32
		5 233
		6 155
		7 183
	*/
	fmt.Println("-----------------")
	for i, ch := range name {
		fmt.Println(i, ch)    //ch类型为rune
	}
	/*
		输出:
		0 122
		1 104
		2 97
		3 111
		4 32
		5 38647
	*/

}

说明:

1、Go语言支持两种字符类型:byte代表UTF-8,rune代表Unicode

2、根据字符串下标取字符,类型为byte(中文在UTF-8中占3个字节,而不是一个)

推荐阅读