3. Go语言一些技巧

分组声明

在Go语言中,同时声明多个常量、变量,或者导入多个包时,可采用分组的方式进行声明。
例如下面的代码:

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"
)

const(
    i = 100
    pi = 3.1415
    prefix = "Go_"
)

var(
    i int
    pi float32
    prefix string
)

除非被显式设置为其它值或 iota ,每个 const 分组的第一个常量被默认设置为它的0值,第二及后续的常量被默认设置为它前面那个常量的值,如果前面那个常量的值是 iota ,则它也被设置为 iota 。

iota枚举

Go里面有一个关键字 iota ,这个关键字用来声明 enum 的时候采用,它默认开始值是0,每调用一次加1:

const(
    x = iota // x == 0
    y = iota // y == 1
    z = iota // z == 2
    w // 常量声明省略值时,默认和之前一个值的字面相同。这里隐式地说 w = iota ,因此 w == 3 。其实上面 y 和 z 可同样不用 "= iota"
)
const v = iota // 每遇到一个 const 关键字, iota 就会重置,此时 v == 0

Go程序设计的一些规则

Go之所以会那么简洁,是因为它有一些默认的行为:

  • 大写字母开头的变量是可导出的,也就是其它包可以读取的,是公用变量;小写字母开头的就是不可导出的,是私有变量。
  • 大写字母开头的函数也是一样,相当于 class中的带 public 关键词的公有函数;小写字母开头的就是有private 关键词的私有函数。

猜你喜欢

转载自blog.csdn.net/u012534326/article/details/119986197