Golang中字面量(literal)到底是什么?

什么是字面量

在计算机科学中,字面量(literal)是指源代码中表示固定值的符号。几乎所有的编程语言都具有对基本值的字面量表示,例如整数、浮点数以及字符串。例如:

var str = "test"// test就是字面量
age := 18// 18就是字面量

Golang中的字面量(literal)

Golang中字面量可以用在两个地方:

  • 用于变量和常量的初始化,

  • 作为函数实参。

如果变量初始化语句中没有显式指定类型,则编译器会根据字面量进行类型推断。Golang中字面量只能表达基本类型的值,不支持用户自定义字面量。

Golang中字面量类型

整型字面量

可以使用十进制格式也可以使用16进制格式,例如:

6660x5a

浮点型字面量

可以使用标准的数学小数格式也可以使用科学计数法格式,例如:

3.143E2

复数类型字面量

常见的表达形式如 a + bi,其中a、b都是实数,i为虚数单位,例如:

1 + 1i

字符型字面量

字符使用单引号包裹,例如:

'a'

字符串字面量

字符串使用双引号或反引号包裹,例如:

"Hello, World!"`Hello, World!`

复合字面量(Composite Literal)

复合字面量是指struct、array、slice和map这些类型的变量初始化的同时并赋值。以map类型为例说明,以常规方式声明map类型变量并赋值:

student := make(map[string]interface{}, 2)
student["name"] = "xiao ming"
student["age"] = 10

使用复合字面量方式:

student := map[string]interface{}{
    "name": "xiao ming",
    "age":  "10",
}
  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

路多辛

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值