Оператор взятия адреса
Часть раздела Основы путешествия по GO на Coddy — урок 62 из 109.
Оператор взятия адреса (&) получает адрес переменной в памяти. Именно так мы создаем указатели в Go.
Создайте переменную и получите её адрес в памяти:
func main() {
number := 42
addressOfNumber := &number
fmt.Println("Value:", number)
fmt.Println("Address:", addressOfNumber)
}Вывод показывает значение и его адрес в памяти:
Value: 42
Address: 0xc000018030Адрес (например, 0xc000018030) — это шестнадцатеричное число, представляющее местоположение в памяти, где хранится значение. Этот адрес будет меняться при каждом запуске программы.
Задание
Новичок&) в Go. Оператор взятия адреса возвращает адрес памяти переменной — место, где значение переменной хранится в памяти компьютера.Ваша задача — использовать оператор взятия адреса, чтобы получить адрес памяти предоставленной переменной и сохранить его в уже объявленной переменной-указателе.
Шпаргалка
Оператор взятия адреса (&) получает адрес памяти переменной и используется для создания указателей в Go.
number := 42
addressOfNumber := &number
fmt.Println("Value:", number)
fmt.Println("Address:", addressOfNumber)Адрес отображается в виде шестнадцатеричного числа (например, 0xc000018030), представляющего место в памяти, где хранится значение. Этот адрес будет меняться при каждом запуске программы.
Попробуйте сами
package main
import "fmt"
func main() {
// Это наша переменная-образец
name := "Gopher"
// Это объявляет переменную-указатель для хранения адреса строки
var namePointer *string
// TODO: Используйте оператор взятия адреса (&), чтобы получить адрес памяти 'name'
// и сохраните его в переменной 'namePointer'
// Вывести значение, на которое указывает указатель
fmt.Printf("The value at that memory address is: %v\n", *namePointer)
}В этом уроке есть небольшой тест. Начните урок, чтобы ответить на вопросы и сохранить прогресс.
Все уроки раздела Основы
4Операторы сравнения и логические операторы
Операторы сравнения — Часть 1Операторы сравнения — Часть 2Логический оператор ANDЛогический оператор ORЛогический оператор NOTОсновы приоритета операторовИтоги: выполнение сравнений7Управляющие конструкции: Циклы
Что такое цикл `for`Цикл `for` — основыЦикл `for` — только условиеКлючевое слово `break`Ключевое слово `continue`Вложенные циклыИтоги — повторение действий2Переменные и базовые типы данных
Что такое переменнаяВывод типов с помощью `:=`Целые числа (int)Числа с плавающей точкойЛогический тип (Booleans)СтрокиНулевые значения (Zero Values)КонстантыПравила именованияИтоги: переменные и типы5Основы ввода-вывода
Форматированный выводСпецификаторы форматаВывод типовБазовый ввод данных пользователемИтоги: ввод и вывод8Функции
Понимание функцийОбъявление функцииВызов функцийПараметры функцииВозврат одного значенияВозврат нескольких значенийИменованные возвращаемые значенияОсновы области видимости функцийИтоги — создание переиспользуемого кода3Базовые операторы
Арифметические операторыОператор деленияОператор остатка от деленияОператор присваиванияКомбинированные операторы присваиванияИнкремент и декрементПовторение — Вычисления6Управление потоком: Условные конструкции
Оператор `if`Ключевое слово `else`Ключевое слово `else if`Затенение переменных в `if`Инициализация переменныхОператор `switch`Switch с выражениямиSwitch без выраженийКлючевое слово `fallthrough`Итоги — Принятие решений