2.1.3 字面量

字面量代表着一种标记法,常用来表示一些固定值。但在Go语言中,字面量的含义有多种,既可以表示基础数据类型值的各种字面量,又可以表示程序员构造的自定义符合数据类型的类型字面量,还可以表示符合数据类型的值的符合字面量。

使用字面量时,一般使用裸字符序列来表示不同类型的值。字面量还可以被编译器直接转换为某个类型的值。

字面量可以分为以下几类:

1.整型字面量

整型字面量就是使用特定的字符序列来表示具体的整型数值,它常被用于整型变量或常量的初始化,例如:

    55
    0550
    0xHello
    123456789
2.浮点型字面量

浮点型字面量就是使用特定的字符序列来表示一个浮点数值。浮点型字面量的表示方法有两种:数学记录法和科学计数法,例如:

    25.12
    0.15
    .25
    .12345F+4
    1.e+0
3.复数类型字面量

复数类型字面量就是使用特定的字符序列来表示复数类型的常量值,例如:

    0i
    5.e+0i
    .25i
    .12345F+4i
    1.e+0i
4.字符型字面量

字符型字面量就是使用特定的字符序列来表示字符型的数值。Go语言程序的源码通常采用UTF-8的编码方式,UTF-8的字符占用1~4B。Rune字符常量也有多种表现形式,但通常使用“' '”(单引号)将字符常量括起来,例如:

    'b'
    '\t'
    '\0000'
    '\abc'
    '\u45e3'
5.字符串字面量

字符串字面量通常使用“" "”(双引号)将字符序列括起来,双引号中的内容可以是UTF-8的字符字面量,也可以是其编码值,例如:

    "\n"
    "hello world!\n"
    "Go语言"