gpt4 book ai didi

go - 使用结构对常量进行分组有哪些副作用

转载 作者:行者123 更新时间:2023-12-01 22:40:05 27 4
gpt4 key购买 nike

我知道我们不能在Go中将struct用作常量。
但是我想将我的常量归为更干净的代码,而不是使用一些带有一些前缀的常量,所以我这样做:

var SomeStatus = struct {
Active int
Inactive int
Others int
}{
Active: 1,
Inactive: 2,
Others: 3
}

// usage example
status = Status.Active

// example with some prefix
const StatusActive = 1
const StatusInactive = 2
const StatusOthers = 3
const OtherConstantVariable = 1
...
如果没关系,可以重写变量的值。
此技巧的其他副作用是什么?

最佳答案

此技巧的其他副作用是什么?

我能想到的。可能还有其他:

  • 效率较低,因为变量分配了运行时内存。
  • 由于常量,可以在编译时预先计算的任何值现在将在运行时计算。
  • 对于导出的符号,它使您可以在运行时由任何导入您的包的人进行修改。
  • 这不是惯用语言,因此可能会使看到您代码的任何人感到困惑。
  • 失去了来自无类型常量的灵活性。
  • 关于go - 使用结构对常量进行分组有哪些副作用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/62898038/

    27 4 0
    Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
    广告合作:1813099741@qq.com 6ren.com