Go 如何为枚举类型指定默认值
根据这个Go代码,我将生成CRD yaml。我在Go中使用以下结构。 我想为其中一个枚举选项中的参数“Size”和“Case”指定默认值。 分配//+kubebuilder:validation:default:=512在生成的yaml文件中无效。 在kubebuilder中是否有任何方法可以为枚举指定默认值Go 如何为枚举类型指定默认值,go,kubebuilder,Go,Kubebuilder,根据这个Go代码,我将生成CRD yaml。我在Go中使用以下结构。 我想为其中一个枚举选项中的参数“Size”和“Case”指定默认值。 分配//+kubebuilder:validation:default:=512在生成的yaml文件中无效。 在kubebuilder中是否有任何方法可以为枚举指定默认值 type Options struct { // +kubebuilder:validation:default:=512 // +kubebuilder:validati
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
所以我认为让字段可选是关键