常量

简述

  1. 通过const关键字定义常量
  2. 常量不可以被修改
  3. 常量中的数据类型只可以是布尔型、数字型(整数型、浮点型和复数)和字符串型。

定义常量

const name type = value

和定义变量一样,值类型type可以被省略,因为编译器可以自动根据其值判断类型。同时,定义多个常量也可以简写:

const one two three = 1,2,3
// 或者这样
const (
    one = 1
    two = 2
    three = 3
)

使用表达式

常量可以用len(), cap(), unsafe.Sizeof()函数计算表达式的值。常量表达式中,函数必须是内置函数,否则编译不过:

const (
    one = "abc"
    two = len(a)
    three = unsafe.Sizeof(a)
)

iota

iota是一个特殊常量,在const出现时将被充值为0,每新增一个const定义会使iota的值+1

const (
    one = iota
    two = iota
    three = iota
)
// 此时one、two、three的值分别是0,1,2
// 上面的写法也等同于
const (
    one = iota
    two
    three
)

无论常量是否被赋值iota,只要通过const定义了一个常量,iota的值就会+1

const (
    one = iota
    two = "bb"
    three = iota
)
// 此时one、two、three的值分别是0,"bb",2
本文章由 https://itdashu.com 原创发布,欢迎转载,转载请注明出处。
投稿或联系站长请发送邮件至 leno@itdashu.com。
Golang教程