go之常量
概念
恒定不变的量,定义赋初值以后,就不能改
在python中,常量约定俗成,全大写表示常量,go中关键字修饰,真正的不能修改
常量的定义,一般定义外部,所有函数都可以用,使用const关键字修饰,定义时必须赋初值。变量的作用域范围---》在函数内部,外部
常量的基本定义和使用
package main
import "fmt"
// 常量的定义,一般定义外部,所有函数都可以用,使用const关键字修饰,定义时必须赋初值
// 变量的作用域范围---》在函数内部,外部
// const 常量名 常量类型 = 常量值
const name string ="彭于晏"
// const 常量名 = 常量值
const age =19
func main() {
// 1 常量的基本定义和使用
//fmt.Println(name)
//fmt.Println(age)
常量布尔
//const b bool = true ////b=false 不能修改 //fmt.Println(b)
同时定义多个常量
// 同时定义多个常量 //const ( // name string="彭于晏" // age =19 //)
iota
使用方式一
//const ( // a=iota // iota 写在第一行,表示0 // b=iota // iota 写在第二行,表示1 // c=iota // iota 写在第三行,表示2 //) //fmt.Println(a,b,c)
使用方式二
1. // 定义常量,如果没有赋初值,初值是上一行常量的值 // 一旦使用了itoa,就打破了上面的规则,按照iota的增长规则,每一行加一 //const ( // a=10 // a是10,是我定义的 // b //b没有赋值,会使用上一个常量的值 // c=iota // 第三行,就是2 // // d=iota // 第四行,就是3 //) 2. //const ( // a=10 // a是10,是我定义的 // b //b没有赋值,会使用上一个常量的值 // c=iota // 第三行,就是2 // d // 第四行,就是3 中间一旦使用了iota,就打破了参照上面常量值的规范,变成了相当于每一个都写了iota // //e=iota // 第5行,就是4 // e // 第5行,就是4 // f=iota // 第6行,就是5 //) //fmt.Println(a,b,c,d,e,f)
定义数量级
type ByteSize float64
const (
_ = iota // ignore first value by assigning to blank identifier
KB ByteSize = 1 << (10 * iota) // 1 << (10*1)
MB // 1 << (10*2)
GB // 1 << (10*3)
TB // 1 << (10*4)
PB // 1 << (10*5)
EB // 1 << (10*6)
ZB // 1 << (10*7)
YB // 1 << (10*8)
)

浙公网安备 33010602011771号