«Если рабочий хочет хорошо выполнять свою работу, он должен сначала заточить свои инструменты» — Конфуций, «Аналитики Конфуция. Лу Лингун»
титульная страница > программирование > Как инициализировать встроенную структуру в Go: руководство по двум подходящим

Как инициализировать встроенную структуру в Go: руководство по двум подходящим

Опубликовано в 2025-03-22
Просматривать:506

How to Initialize an Embedded Struct in Go: A Two-Approach Guide

инициализация встроенной структуры в Go

При работе со встроенными структурами в Go общий сценарий включает в себя инициализацию внутренней анонимной структуры. В этой статье рассматривается такой сценарий, предоставляя четкое понимание того, как достичь инициализации, используя два подхода.

рассмотрим следующую встроенную структуру myRequest:

type MyRequest struct {
    http.Request
    PathParams map[string]string
}

func new (OrigRequest *http.request, pathparams map [string] string) *myRequest { req: = новый (myRequest) req.pathparams = pathparams req.request = orouncrequest вернуть реб }. Затем мы установили поле Pathparams соответственно. Впоследствии мы получаем доступ и устанавливаем встроенную http.request struct, ссылаясь на req.request. Pathparams: Pathparams Запрос: OrigRequest }

func New(origRequest *http.Request, pathParams map[string]string) *MyRequest {
    req := new(MyRequest)
    req.PathParams = pathParams
    req.Request = origRequest
    return req
}

оба подхода эффективно инициализируют встроенную http.request struct в MyRequest, что позволяет вам настраивать и использовать ее по мере необходимости. Для получения дополнительной ссылки обратитесь к спецификации GO на названных полях для встроенных структур.

]
Последний учебник Более>

Изучайте китайский

Отказ от ответственности: Все предоставленные ресурсы частично взяты из Интернета. В случае нарушения ваших авторских прав или других прав и интересов, пожалуйста, объясните подробные причины и предоставьте доказательства авторских прав или прав и интересов, а затем отправьте их по электронной почте: [email protected]. Мы сделаем это за вас как можно скорее.

Copyright© 2022 湘ICP备2022001581号-3