gpt4 book ai didi

go - 如何为枚举类型分配默认值

转载 作者:行者123 更新时间:2023-12-03 10:07:39 24 4
gpt4 key购买 nike

从这段 Go 代码中,我生成了 CRD yaml。我在 Go 中使用以下结构。我想从枚举选项之一为参数“大小”和“大小写”分配默认值。分配//+kubebuilder:validation:default:=512 在生成的 yaml 文件中不生效。在 kubebuilder 中有什么方法可以为枚举分配默认值?

type Options struct {
// +kubebuilder:validation:default:=512
// +kubebuilder:validation:Enum=64;128;256;512
Size int64 `json:"Size"`

// +kubebuilder:validation:Enum=caseA;caseB
// +kubebuilder:validation:default:=caseA
Case string `json:"case"`
}



Generated yaml without default value
---------------
case:
enum:
- caseA
- caseB
type: string

Size:
enum:
- 64
- 128
- 256
-512
format: int64
type: integer

最佳答案

我正在按照这些思路做一些事情:

    // +kubebuilder:validation:Optional
// +kubebuilder:validation:Enum=foo;bar
// +kubebuilder:default:=none
Qux string `json:qux`

生成如下所示的 yaml:

              qux:
default: foo
enum:
- foo
- bar
type: string

所以我认为让该字段可选是关键。

关于go - 如何为枚举类型分配默认值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/63786456/

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