Переменная – это имя, присвоенное ячейке памяти, в которой хранится значение определенного типа. В 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 букв.
Объявление переменной
- С ключевым словом 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, где я каждый день публикую новые статьи о программировании, самосовершенствовании, социальных навыках, маркетинге и других увлекательных темах.
Я не могу закончить эту статью, не сказав, откуда я взял коды и какое определение использовал. Ниже приведены некоторые веб-сайты: