go之常量

概念

  恒定不变的量,定义赋初值以后,就不能改

  在python中,常量约定俗成,全大写表示常量,go中关键字修饰,真正的不能修改

  常量的定义,一般定义外部,所有函数都可以用,使用const关键字修饰,定义时必须赋初值。变量的作用域范围---》在函数内部,外部

常量的基本定义和使用

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
package main
 
import "fmt"
 
// 常量的定义,一般定义外部,所有函数都可以用,使用const关键字修饰,定义时必须赋初值
// 变量的作用域范围---》在函数内部,外部
// const 常量名 常量类型 = 常量值
const name string ="彭于晏"
// const 常量名  = 常量值
const age  =19
 
func main() {
   // 1 常量的基本定义和使用
   //fmt.Println(name)
   //fmt.Println(age)

  常量布尔

1
2
3
//const b bool = true
////b=false  不能修改
//fmt.Println(b)

  同时定义多个常量

1
2
3
4
5
// 同时定义多个常量
//const (
// name string="彭于晏"
// age =19
//)

iota

  使用方式一

1
2
3
4
5
6
//const (
// a=iota   // iota 写在第一行,表示0
// b=iota   // iota 写在第二行,表示1
// c=iota    // iota 写在第三行,表示2
//)
//fmt.Println(a,b,c)

  使用方式二

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
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)

  定义数量级

1
2
3
4
5
6
7
8
9
10
11
12
13
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)
)

  

 

posted @   那就凑个整吧  阅读(38)  评论(0编辑  收藏  举报
相关博文:
阅读排行:
· 阿里最新开源QwQ-32B,效果媲美deepseek-r1满血版,部署成本又又又降低了!
· SQL Server 2025 AI相关能力初探
· AI编程工具终极对决:字节Trae VS Cursor,谁才是开发者新宠?
· 开源Multi-agent AI智能体框架aevatar.ai,欢迎大家贡献代码
· Manus重磅发布:全球首款通用AI代理技术深度解析与实战指南
点击右上角即可分享
微信分享提示