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

Прежде всего, существуют правила именования переменных.

  • Перед именами переменных должна стоять буква или знак подчеркивания ( ). Имена могут содержать буквы «a-z» или «A-Z», цифры 0–9 и символ «».
Geeks, geeks, _geeks23  // valid variable
123Geeks, 23geeks      // invalid variable
  • Имена переменных не должны начинаться с цифр.
234geeks  // illegal variable
  • Имя переменной чувствительно к регистру.
geeks and Geeks are two different variables
  • Ключевые слова не разрешены в качестве имен переменных.
  • Длина имени переменной не ограничена, однако лучше всего, чтобы оно содержало от 4 до 15 букв.

Объявление переменной

  1. С ключевым словом var

Используйте ключевое слово var, за которым следует имя и тип переменной:

var variablename type = value

Помните, что вы всегда должны указывать либо тип, либо значение (или и то, и другое).

2. Используя символ :=:

Используйте символ :=, затем значение переменной:

variablename := value

Тип переменной выводится из значения в этой ситуации (это означает, что компилятор определяет тип переменной на основе значения).

Невозможно объявить переменную с := без присвоения ей значения.

Создание переменной со значением по умолчанию

Когда переменная объявляется, ей также может быть присвоено начальное значение. Синтаксис объявления переменной с начальным значением следующий.

var name type = initialvalue

Если бы это было написано в более реалистичной программе, это могло бы выглядеть так:

package main

import "fmt"

func main() {  
    var age int = 29 // variable declaration with initial value

    fmt.Println("My age is", age)
}

В приведенном выше программном обеспечении age представляет собой переменную int с начальным значением 29. Вывод приведенной выше программы выглядит следующим образом.

My age is 29

Объявление нескольких переменных

Одно предложение может использоваться для объявления многих переменных.

Синтаксис объявления нескольких переменных: varимя1, имя2, тип= начальное значение1, начальное значение2.

package main

import "fmt"

func main() {  
    var width, height int = 100, 50 //declaring multiple variables

    fmt.Println("width is", width, "height is", height)
}

Если переменные имеют начальное значение, тип можно опустить. Поскольку переменные в предыдущей программе имеют начальные значения, тип int можно удалить.

package main

import "fmt"

func main() {  
    var width, height = 100, 50 //"int" is dropped

    fmt.Println("width is", width, "height is", height)
}

Нулевые значения в Go

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

Самый простой способ проверить нулевое значение — объявить в коде переменную, которая не имеет значения.

// Go program to illustrate the concept of zero value
package main
import "fmt"
// Main Method
func main() {
// Creating variables
 // of different types
 var q1 int
 var q2 float64
 var q3 bool
 var q4 string
 var q5 []int
 var q6 *int
 var q7 map[int]string
// Displaying the zero value
 // of the above variables
 fmt.Println("Zero value for integer types: ", q1)
 fmt.Println("Zero value for float64 types: ", q2)
 fmt.Println("Zero value for boolean types: ", q3)
 fmt.Println("Zero value for string types: ", q4)
 fmt.Println("Zero value for slice types: ", q5)
 fmt.Println("Zero value for pointer types: ", q6)
 fmt.Println("Zero value for map types: ", q7)
}

Вывод будет выглядеть примерно так:

Zero value for integer types:  0
Zero value for float64 types:  0
Zero value for boolean types:  false
Zero value for string types:  
Zero value for slice types:  []
Zero value for pointer types:  <nil>
Zero value for map types:  map[]

Если вам понравилась статья, для меня было бы очень важно, если бы вы подписались на меня на Medium, где я каждый день публикую новые статьи о программировании, самосовершенствовании, социальных навыках, маркетинге и других увлекательных темах.

Я не могу закончить эту статью, не сказав, откуда я взял коды и какое определение использовал. Ниже приведены некоторые веб-сайты: