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

Go's "*" Modifier: проход за ценой или проходом?

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

Go's

прохождение по ссылке и значению в Go: Понимание модификатора "*" В Go есть два основных способа сделать это: прохождение по значению или прохождение ссылки. Последнее включает в себя использование модификатора «*», который может сбивать с толку для начинающих.

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

«

» обозначает указатель на тип. Например, func puttasks (db

sql.db) указывает, что параметр Db является указателем на объект sql.db. Причина этого заключается в том, что технически поддерживает только прохождение, и передача указателя-это способ имитировать проход за счет. Это означает, что изменения, внесенные в объект через указатель, будут отражены в исходной переменной, переданной функции. С другой стороны, передача значения напрямую (без " *") делает копию исходного значения, поэтому изменения, внесенные в функцию, не повлияют на исходную переменную.

приведенный пример, func printperson (p *person), требует указателя, поскольку ему необходимо изменить объект человека, чтобы распечатать свои данные. Если он получил значение вместо этого, любые изменения будут повлиять только на копию, удерживаемую в функции. Использование указателей при необходимости может улучшить производительность и поддерживать согласованность между функциями и кодом абонента. ]

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

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

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

Copyright© 2022 湘ICP备2022001581号-3