go 全局切片声明初始化_如何在Go中制作全局常量贴图和切片

本文探讨了在Go中如何处理全局常量切片和映射的问题,指出Go编译器不允许这些复杂类型为常量。作者建议避免使用全局变量,而是采用初始化函数来确保值的不变性,提供了一个更好的解决方案来创建全局只读配置。
摘要由CSDN通过智能技术生成

go 全局切片声明初始化

在大多数情况下,Go开发人员非常擅长使用常量进行全局配置,而不是全局变量。 但是,当我们需要全局常量切片或映射时,就会出现问题。 go编译器不允许将这些更复杂的类型设置为常量。 实现这一点后,许多开发人员决定使用危险的全局变量。 在本文中,我们将探索一个更好的选择。

全局和常量简介

package foo// this is a global constant
const safeRateLimit = 10

// this is a global variable
var dangerousRateLimit = 10

设置配置全局变量(应为只读)时,没有理由使用全局变量。 通过使用变量而不是常量,您可以:

  • 当您或其他人无意中改变了价值时,便会发现潜在的错误
  • 混淆那些认为价值应该改变的未来开发人员

幸运的是,大多数人已经对全局变量有所了解,将全局变量切换为全局常量是一项相当简单的任务。

如果我想要全局切片或地图怎么办?

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值