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) ) |
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 阿里最新开源QwQ-32B,效果媲美deepseek-r1满血版,部署成本又又又降低了!
· SQL Server 2025 AI相关能力初探
· AI编程工具终极对决:字节Trae VS Cursor,谁才是开发者新宠?
· 开源Multi-agent AI智能体框架aevatar.ai,欢迎大家贡献代码
· Manus重磅发布:全球首款通用AI代理技术深度解析与实战指南