Вы можете создать крошечную структурную оболочку, которая хранит закрытый указатель на большую структуру и определяет метод Get
, позволяющий получить эту большую структуру.Внутри Get
вы проверяете, равен ли указатель нулю, тогда он паникует.
Что-то вроде:
type StructHolder struct {
target *BigStruct
}
func (s StructHolder) Get() *BigStruct {
if s.target == nil {
panic("target is nil")
}
return s.target
}
Зачем вы это делаете?Я думаю, что лучше передать указатель и проверить его значение.