diff --git a/base/constant/main.go b/base/constant/main.go new file mode 100644 index 0000000..05c2a56 --- /dev/null +++ b/base/constant/main.go @@ -0,0 +1,54 @@ +package main + +import "fmt" + +// 常量 +// 常量定义后不可修改 +const pi = 3.14159265358979323846264338327950288419716939937510582097494459 +const e = 2.71828182845904523536028747135266249775724709369995957496696763 + +// 批量声明 常量 +const ( + OK = 200 + NOT_FOUND = 404 + SERVER_ERROR = 500 +) + +// 批量声明常量时, 如果声明后没有赋值 默认与上一行相同 +const ( + a = 100 + b + c +) + +// iota 常量计数器 只能用于常量的表达式 +// 从 0 开始计数 每行递增 +// 可使用 匿名变量 跳过 某个值 +const ( + i = iota // 0 + _ // 1 + j // 2 + k = 100 // 插队 + l = iota // 4 + // 同一行声明的 iota 值相同 + m, n = iota, iota // 5 +) + +const ( + B int64 = 1 << (iota * 10) // 1 << 0 + KB // 1 << 10 + MB // 1 << 20 + GB // 1 << 30 + TB // 1 << 40 + PB // 1 << 50 +) + +func main() { + fmt.Printf("a: %v, b: %v, c: %v\n", a, b, c) + + fmt.Printf("i: %v, j: %v, k: %v,l: %v\n", i, j, k, l) + + fmt.Printf("m: %v, n: %v\n", m, n) + + fmt.Printf("B => %v, KB => %v, MB => %v, GB => %v, TB => %v, PB => %v\n", B, KB, MB, GB, TB, PB) +}