Простое понимание переменных Go с помощью наглядных примеров.
Заявления о красоте Go ❤️
Go определяет переменные по мере их чтения. Go понятен и прост.
Вместо того, чтобы выполнять арифметические операции Правило по часовой стрелке / спирали для чтения объявления C, Go использует более простой подход для нас, людей.
→ Версия C:
→ Версия Go:
Что такое переменная в Go?
Тип → Какую информацию можно хранить внутри переменной.
Значение → Сохраненное значение внутри переменной.
Адрес → Где найти переменную в памяти компьютера.
Зачем нужны переменные?
Без переменных в наших программах были бы только статические данные, которые мы не можем изменить. Переменные позволяют нам выполнять динамические действия, например получать отзывы пользователей и повторно использовать одно и то же значение.
Как объявить переменную Go?
Лучше сначала поговорить о нулевых значениях. Если вы объявляете переменную без значения, она будет иметь нулевое значение в зависимости от типа переменной.
Длинное объявление
Объявляет переменную с именем ageOfUniverse с типом int.
Имя может быть любым, включая Unicode, например π, ∑, ∫, но не так: 😱 . Его значение - нулевое значение int, равное 0.
Краткое объявление
Объявляет переменную с именем ageOfUniverse и сохраняет в переменной значение 14 миллиардов и автоматически определяет ее тип (определение типа).
Переменная объявляется, а ее значение и тип присваиваются вместе с оператором :=
. Очевидно, что когда вы используете короткое объявление, Go не будет использовать присвоение нулевого значения. 👋 Программисты на Pascal могут помнить :=
.
Множественные объявления
Объявляет несколько переменных, которые имеют разные типы и значения в одном операторе.
Количество элементов в левой части (то есть: livablePlanets и ageOfEarth) должно совпадать с количеством элементов в правой части (то есть: 1 и 4.5e9) .
Множественное короткое объявление
Объявляет две переменные типа float64 и string и присваивает 14 миллиардов первой переменной и «go» второй переменной.
Присвоение значений
Если вы хотите присвоить переменной неправильный тип данных, компилятор Go не сможет скомпилировать.
👉 Совет. Простая замена переменных:
foo, bar := 1, 2 foo, bar = bar, foo // foo will be 2, bar will be 1
💡 Какую форму декларации мне следует использовать?
Используйте длинное объявление, если заранее не знаете, какие данные хранить, в противном случае используйте короткое объявление. Используйте несколько объявлений, если вы хотите определить несколько переменных вместе или как подсказку для удобочитаемости кода, что переменные будут использоваться вместе.
Вы не можете использовать короткие объявления вне функций, включая функцию main. Или: вы столкнетесь с такой ошибкой: «Синтаксическая ошибка : оператор без объявления вне тела функции». Плохо.
Как хранятся переменные?
Когда мы объявляем целочисленную переменную, 4 байта места в памяти для этой переменной резервируются. Когда данные не помещаются в переменную, компилятор Go прекращает работу.
Однако int - это тип дискеты, ее емкость может изменяться. Итак, мы не можем просто сохранить возраст вселенной в переменной int. Вместо этого нам следовало использовать uint64. int не может хранить ~ 14 миллиардов лет, он может хранить только ~ 4 миллиарда лет на 32-битных машинах. Или переполнится, но для 64-битной машины компиляция подойдет.
Попробуй сам.
Делаем переменную доступной для других пакетов
Это называется экспортом. Чтобы определить переменную в области пакета, вы можете использовать только длинное объявление или множественное объявление. После этого вам нужно сделать его первую букву заглавной.
Хорошо, на этом пока все. Спасибо, что дочитали до сих пор.
Давайте оставаться на связи:
- 📩 Присоединяйтесь к моей рассылке новостей
- 🐦 Следуй за мной в твиттере
- 📦 Получите репозиторий Go для бесплатных руководств, примеров и упражнений
- 📺 Учитесь Go с моим курсом Go Bootcamp
- ❤️ Хотите помочь? Пожалуйста, аплодируйте и поделитесь статьей. Пусть другие люди тоже узнают из этой статьи.