Files
pig-farm-controller/internal/infra/transport/proto/exported.go

14 lines
702 B
Go
Raw Normal View History

package proto
// InstructionPayload 是 protoc 为 oneof 生成的未导出接口 isInstruction_Payload 的一个公开别名。
// 通过接口嵌入,我们创建了一个新的、可导出的接口,它拥有与 isInstruction_Payload 完全相同的方法集。
//
// 根据 Go 的接口规则,任何实现了 isInstruction_Payload 接口的类型 (例如 *Instruction_Ping)
// 都会自动、隐式地满足此接口。
//
// 这使得我们可以在项目的其他包(如 domain 层)的公开 API 中使用这个接口,
// 从而在保持类型安全的同时,避免了对 protoc 生成的未导出类型的直接依赖。
type InstructionPayload interface {
isInstruction_Payload
}