ycliper

Популярное

Музыка Кино и Анимация Автомобили Животные Спорт Путешествия Игры Юмор

Интересные видео

2025 Сериалы Трейлеры Новости Как сделать Видеоуроки Diy своими руками

Топ запросов

смотреть а4 schoolboy runaway турецкий сериал смотреть мультфильмы эдисон
Скачать

Использование указателей в качестве параметров функций в Go

Автор: Gary Clarke

Загружено: 2025-12-11

Просмотров: 75

Описание: В Go всё, что вы передаёте в функцию, передаётся по значению. Это означает, что функция получает копию данных, а не оригинал. В большинстве случаев это нормально, но иногда требуется, чтобы функция изменила исходное значение. Для этого нужно передать указатель. Указатель предоставляет функции доступ к исходным данным в памяти, поэтому любые изменения, внесённые внутри функции, будут видны и за её пределами. Этот байт Go показывает разницу между передачей значения и указателя, а также случаи, когда каждый подход имеет смысл.

Что вы изучите:
Как Go передаёт значения по умолчанию (функции получают копии)
Как передавать указатели в функции, чтобы разрешить изменение исходного значения
Разница между передачей значения и передачей указателя
Когда использовать каждый подход в вашем коде

Концептуальное объяснение:
Когда вы передаёте значение в функцию в Go, функция получает копию этого значения. Любые изменения, внесённые в копию внутри функции, не влияют на оригинал. Это поведение Go по умолчанию, которое хорошо работает, когда вам не нужно изменять исходное значение. Однако, когда вы хотите, чтобы функция изменила исходное значение, вы передаете указатель. Указатель хранит адрес памяти значения, поэтому при передаче указателя на функцию функция может получить доступ к исходным данным и изменить их. Представьте, что вы передаете функции адрес данных, а не их копию. Это особенно полезно при работе со структурами, когда вы хотите обновить поля исходной структуры.

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

Основные выводы:
– Передача значений отправляет копию, поэтому исходные данные не могут быть изменены.
– Передача указателя предоставляет функции доступ к исходным данным.
– Структуры ведут себя аналогично: копия не изменяет исходные данные, а указатель – да.
– Используйте указатели, когда нужно, чтобы функция обновила данные или чтобы избежать ненужного копирования.
– Используйте значения, когда вам нужны безопасность и простота, а также отсутствие необходимости внесения изменений.

Перед проверкой решения попробуйте выполнить задание из видео.

Ссылки:
Папка с уроками на GitHub: https://github.com/GaryClarke/go-byte...
Создайте своё первое приложение на Go вместе со мной: https://www.garyclarke.tech/p/build-y...
Подпишитесь на рассылку, чтобы получать новые уроки и ресурсы: https://content.garyclarke.tech/go-by...
Подпишитесь на X/Twitter:   / garyclarketech  
Присоединяйтесь к LinkedIn:   / garyclarketech  

Подпишитесь, чтобы получать больше уроков по Go.

#golang #go #programming #coding #learnprogramming #gobytes

Не удается загрузить Youtube-плеер. Проверьте блокировку Youtube в вашей сети.
Повторяем попытку...
Использование указателей в качестве параметров функций в Go

Поделиться в:

Доступные форматы для скачивания:

Скачать видео

  • Информация по загрузке:

Скачать аудио

Похожие видео

Циклы while с циклом for в Go

Циклы while с циклом for в Go

Основы указателей в Go

Основы указателей в Go

Основные ошибки в Go

Основные ошибки в Go

Понимание интерфейсов в Go

Понимание интерфейсов в Go

Nano Banana Pro + Gemini 3 = ПОЛНОЕ УПРАВЛЕНИЕ КАМЕРОЙ

Nano Banana Pro + Gemini 3 = ПОЛНОЕ УПРАВЛЕНИЕ КАМЕРОЙ

🔀 Фронтендеры не знают Web API: OPFS, Web Crypto, Websocket, WebRTC, Locks, Workers, Cache API...

🔀 Фронтендеры не знают Web API: OPFS, Web Crypto, Websocket, WebRTC, Locks, Workers, Cache API...

КАК НЕЛЬЗЯ ХРАНИТЬ ПАРОЛИ (и как нужно) за 11 минут

КАК НЕЛЬЗЯ ХРАНИТЬ ПАРОЛИ (и как нужно) за 11 минут

JavaScript Course for Beginners – Your First Step to Web Development

JavaScript Course for Beginners – Your First Step to Web Development

Где и как спасаться от мировой войны?

Где и как спасаться от мировой войны?

Преддиабет: 9 симптомов, по которым тело кричит «остановись».

Преддиабет: 9 симптомов, по которым тело кричит «остановись».

«Вот теперь я задумался об эмиграции»: зачем Кремль заблокировал Roblox и как реагируют россияне

«Вот теперь я задумался об эмиграции»: зачем Кремль заблокировал Roblox и как реагируют россияне

Pointer Receivers in Go

Pointer Receivers in Go

Пользовательские типы ошибок в Go

Пользовательские типы ошибок в Go

Lecture 1: Introduction to CS and Programming Using Python

Lecture 1: Introduction to CS and Programming Using Python

Стоило ли покупать УБИТЫЙ MacBook за 5000₽? Результат ШОКИРОВАЛ! Ремонт MacBook Pro 15 1013 a1398

Стоило ли покупать УБИТЫЙ MacBook за 5000₽? Результат ШОКИРОВАЛ! Ремонт MacBook Pro 15 1013 a1398

you will never ask about pointer arithmetic after watching this video

you will never ask about pointer arithmetic after watching this video

Пустой идентификатор _ в Go

Пустой идентификатор _ в Go

Почему Ты Просыпаешься В 3–4 Ночи? 5 Причин, О Которых Молчат Врачи.....

Почему Ты Просыпаешься В 3–4 Ночи? 5 Причин, О Которых Молчат Врачи.....

F90: прямой эфир, философия программиста, вопросы и ответы

F90: прямой эфир, философия программиста, вопросы и ответы

Молочные продукты после 40–50 лет, есть или исключить? Что укрепляет кости, а что их разрушает.

Молочные продукты после 40–50 лет, есть или исключить? Что укрепляет кости, а что их разрушает.

© 2025 ycliper. Все права защищены.



  • Контакты
  • О нас
  • Политика конфиденциальности



Контакты для правообладателей: [email protected]