一、分组声明
同时声明多个常量、变量或者导入多个包时,可以采用分组的方式进行声明。
如下面的代码:
import "fmt"
import "os"
const i = 100
const pi = 3.1415
const prefix = "Go_"
var i int
var pi float32
var prefix string
可以分组写成如下形式:
import (
"fmt"
"os"
)
cosnt (
i = 100
pi = 3.1415
prefix = "Go_"
)
var (
i int
pi float32
prefix string
)
二、iota枚举
Go语言中有个关键字 iota,这个关键字用来声明 enum 时采用,它默认开始值是0,每调用一次加1。
const (
x = iota //iota关键字默认开始值是0,即 x == 0
y = iota //每次调用 iota关键字,加1,即 y == 1
z = iota //z == 2
w //常量声明省略值时,默认和之前一个值的字面相同。在此处,即隐式地说: w == iota,因此 w== 3。
//其实上面的 y、z 同样可以不用 “= iota”
)
const v = iota //每次遇到 const 关键字,iota 就会重置,即 v == 0
三、Go语言设计的一些规则
它有一些默认的行为:
- 大写字母开头的变量是可导出的,即其他包可以读取,是公有变量;
小写字母开头的变量不可导出,是私有变量。 - 大写字母开头的函数是公有函数,相当于 class 中带 public 关键词公有函数;
小写字母开头的函数就是有 private关键词的私有函数。