常量和iota
func main() { const a string = "smallming" const b = 123 const c = 3*2 + 5//不要指定类型 const d = 1.5//不要指定类型 fmt.Printf("%T %T",c,d)//int float fmt.Println(c+d)//12.5 //下面这种方式是错误的 i := 3 const e = i*2 + 5 //const initializer i * 2 + 5 is not a constant }
- 当定义多个常量时官方推荐的方式
const ( a = 1 b = 2 c = true )
func main() { const ( a = 1 b c ) fmt.Println(a,b,c)//输出:1 1 1 }
常量生成器
-
当一组常量都是数值类型,可以使用常量生成器iota指定这组常量按照特定规则变化
-
iota起始值为0,每次增加1
func main() { const ( a = iota b c ) fmt.Println(a, b, c) //输出: 0 1 2 const ( d = iota << 1 e f ) fmt.Println(d, e, f) //输出:0 2 4 }
func main() { const ( a = 5 //iota=0 b = 3 //iota=1 c = iota //iota=2 d //iota=3 ) fmt.Println(a, b, c, d) //输出5 3 2 3 const ( e = iota //iota=0 f //iota=1 g = 10 //iota=2 h //iota=3 i = iota //iota=4 j //iota=5 ) fmt.Println(e, f, g, h, i, j) // 0 1 10 10 4 5 }
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· AI与.NET技术实操系列:向量存储与相似性搜索在 .NET 中的实现
· 基于Microsoft.Extensions.AI核心库实现RAG应用
· Linux系列:如何用heaptrack跟踪.NET程序的非托管内存泄露
· 开发者必知的日志记录最佳实践
· SQL Server 2025 AI相关能力初探
· 震惊!C++程序真的从main开始吗?99%的程序员都答错了
· winform 绘制太阳,地球,月球 运作规律
· 【硬核科普】Trae如何「偷看」你的代码?零基础破解AI编程运行原理
· 上周热点回顾(3.3-3.9)
· 超详细:普通电脑也行Windows部署deepseek R1训练数据并当服务器共享给他人