go-变量和常量

变量和常量

变量

变量:主要作用是存储信息,类似一个容器。变量的值是存储在计算机内存中。
   在go中,变量有三个属性:变量类型、变量名和变量值。

声明变量

var 变量名 变量类型

例子:

 1 var name string
 2 var age int
 3 var isOk bool
 4 
 5 var (
 6 a string
 7 b int
 8 c bool
 9 d float32
10 )

在变量声明的时候,会分配内存空间(地址),每个变量会被初始化成其类型的默认值,整型和浮点型是0,字符串是空字符串,布尔类型是false,切片、函数、指针变量是nil;
声明变量并初始化的时候也可以不用指定类型,go语言会根据等号右边的值类型自动推导变量的类型。

例子:

1 var name = "xiaoming"
2 var age = 18

短变量声明

在函数内部可以使用 := 方式声明并初始化变量
例子:

1 func main() {
2 n := 10
3 }

匿名变量不占用命名空间,不会分配内存,所以匿名变量之间不存在重复声明。
注意事项:

  1. 函数外的每个语句必须以关键字开始(var, const, func等)
  2. := 不能使用在函数外
  3. _多用于占位,表示忽略值

常量

常量:相对于变量来说,常量就是在程序运行过程中不会变的值。
   声明和初始化常量和变量类似,关键字换成 const 。

 const 同时声明多个常量时,如果省略了值则表示和上面一行的值相同。

例子:
1 const (
2 n1 = 100
3 n2
4 n3
5 )

上面示例中,n1、n2、n3都是100。

iota

iota是go语言的常量计数器,只能在常量的表达式中使用。
iota在const关键字出现时将被重置为0。const中每新增一行常量声明将使iota计数一次(iota可理解为const语句块中的行索引)。 使用iota能简化定义,在定义枚举时很有用。

几个常见的iota示例:

1 const (
2 n1 = iota  // 0
3 n2            // 1
4 n3            // 2
5 n4            // 3
6 )
1 const (
2 n1 = iota  // 0
3 n2            // 1
4 _
5 n4            // 3
6 )
1 const (
2 n1 = iota     // 0
3 n2 = 100    // 100
4 n3 = iota            // 2
5 n4            // 3
6 )
7 const n5 = iota     // 0
1 const (
2 a, b = iota + 1, iota + 2      // 1  2
3 c, d                                     // 2  3
4 e, f                                      // 3  4
5 )

 

posted @ 2020-02-24 12:46  低调的人儿  阅读(246)  评论(0编辑  收藏  举报