go语言使用-基础语法(3)之数据类型(3)——字符类型

一、概述

Golang中没有专门的字符类型,如果要存储单个字符(字母),一般使用byte来保存。

字符串就是一串固定长度的字符连接起来的字符序列。Go的字符串是由单个字节连接起来的。
也就是说对于传统的字符串是由字符组成的,而Go的字符串不同,它是由字节组成的。

二、 字符型使用

func CharDemo()  {
    var char1 byte = 'a' // 97
    var char2 byte = '\t'
    var char3 int = '北' // 对应编码值 21271 
    var char4 byte = 97 

    //如果我们直接输出一个byte,其实是输出该字符对应的编码值[ASCII]
    //如果我们直接输出一个byte,对应的字符 %c
    //总结
    //1. 当我们将一个字符存放到byte ,或者 int时,本质存放的是该字符对应的编码值(整数)
    //2. 如果我们希望输出对应的字符,则使用%c, 如果希望输出 对应的编码值 %v
    //3. 默认是输出编码值
    fmt.Printf("char1 = %v 字%c符是=%c  char3字符是=%c char4对应的字符=%c\n", 
        char1, char2, char1, char3, char4) 
}

三、字符类型使用细节和注意事项

1、字符常量是用单引号(”)括起来的单个字符。

例如:

        var c1  byte = 'a'  
        var c2 int = '中' 
        var  c3 byte =  '9' 

2、Go中允许使用转义字符 ‘\’来将其后的字符转变为特殊字符型常量。

例如:

var c3 char  = ‘\n’  // '\n'表示换行符 

3、Go语言的字符使用UTF-8编码 ,英文字母-1个字节 ,汉字-3个字节。
4、在Go中,字符的本质是一个整数,直接输出时,是该字符对应的UTF-8编码的码值。
5、 可以直接给某个变量赋一个数字,然后按格式化输出时%c,会输出该数字对应的unicode 字符

例如:

    var n1 int = 38889
    fmt.Printf("n1=%c ", n1) // 输出’韩‘

6、字符类型是可以进行运算的,相当于一个整数,因为它都对应有Unicode码.

例如:

    var char5 byte = 'a'
    var n10 = char5 + 1  //  98 n10[byte]
    fmt.Printf("n10 类型=%T, 值=%v 对应的字符=%c", n10, n10, n10) // ==> 97+1

猜你喜欢

转载自blog.csdn.net/TDCQZD/article/details/81415698