为什么下这篇文章呢,在代码生成这一块跌了两次跟头,说白了只知道照抄,并不知道里面到底是干什么的,要做到知其然并知其所以然,也是为以后在自动生成代码的时候做一个参考。
生成的项目目录结构如下
.
├── go.mod
├── go.sum
├── hack
│ ├── boilerplate.go.txt
│ ├── update-codegen.sh
│ └── verify-codegen.sh
└── pkg
├── apis
│ └── mycontroller
│ ├── register.go
│ └── v1alpha1
│ ├── doc.go
│ ├── register.go
│ ├── types.go
│ └── zz_generated.deepcopy.go
└── client
├── clientset
│ └── versioned
│ ├── clientset.go
│ ├── doc.go
│ ├── fake
│ │ ├── clientset_generated.go
│ │ ├── doc.go
│ │ └── register.go
│ ├── scheme
│ │ ├── doc.go
│ │ └── register.go
│ └── typed
│ └── mycontroller
│ └── v1alpha1
│ ├── doc.go
│ ├── fake
│ │ ├── doc.go
│ │ ├── fake_mycontroller_client.go
│ │ └── fake_website.go
│ ├── generated_expansion.go
│ ├── mycontroller_client.go
│ └── website.go
├── informers
│ └── externalversions
│ ├── factory.go
│ ├── generic.go
│ ├── internalinterfaces
│ │ └── factory_interfaces.go
│ └── mycontroller
│ ├── interface.go
│ └── v1alpha1
│ ├── interface.go
│ └── website.go
└── listers
└── mycontroller
└── v1alpha1
├── expansion_generated.go
└── website.go
代码生成需要的文件
├── go.mod
├── go.sum
├── hack
│ ├── boi
版权声明:本文为qq_24271853原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。