Переменные GO
#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 букв.
Объявление переменной
В Go переменные языка создаются двумя разными способами:
- Использование ключевого слова var: В языке Go переменные создаются с использованием ключевого слова var определенного типа, связанного с именем и задающего его начальное значение.Синтаксис:
var variable_name type = expression
- Важные моменты:
- В приведенном выше синтаксисе, либо выражение типа или = выражение может удалить, но не оба могут удалить в объявлении переменной.
- Если тип удаляется, то тип переменной определяется значением initialize в выражении.Пример:
// Перейти к программе для иллюстрации// понятие переменнойpackage mainimport "fmt"func main() {// переменная объявлена и// инициализируется без// явный типvar myvariable1 = 20var myvariable2 = "GeeksforGeeks"var myvariable3 = 34.80// Отображаем значение и// тип переменныхfmt.Printf("The value of myvariable1 is : %d\n",myvariable1)fmt.Printf("The type of myvariable1 is : %T\n",myvariable1)fmt.Printf("The value of myvariable2 is : %s\n",myvariable2)fmt.Printf("The type of myvariable2 is : %T\n",myvariable2)fmt.Printf("The value of myvariable3 is : %f\n",myvariable3)fmt.Printf("The type of myvariable3 is : %T\n",myvariable3)}- Выход:
The value of myvariable1 is : 20 The type of myvariable1 is : int The value of myvariable2 is : GeeksforGeeks The type of myvariable2 is : string The value of myvariable3 is : 34.800000 The type of myvariable3 is : float64
- Если выражение удалено, то переменная содержит нулевое значение для типа, например ноль для числа, false для логических значений, «» для строк и nil для интерфейса и ссылочного типа. Таким образом, в языке Go нет такого понятия неинициализированной переменной.Пример:
// Перейти к программе для иллюстрации// понятие переменнойpackage mainimport "fmt"func main() {// переменная объявлена и// инициализируется без выраженияvar myvariable1 intvar myvariable2 stringvar myvariable3 float64// Показать нулевое значение переменныхfmt.Printf("The value of myvariable1 is : %d\n",myvariable1)fmt.Printf("The value of myvariable2 is : %s\n",myvariable2)fmt.Printf("The value of myvariable3 is : %f",myvariable3)}- Выход:
The value of myvariable1 is : 0 The value of myvariable2 is : The value of myvariable3 is : 0.000000
- Если вы используете тип, то вы можете объявить несколько переменных одного типа в одном объявлении.Пример:
// Перейти к программе для иллюстрации// понятие переменнойpackage mainimport "fmt"func main() {// Несколько переменных одного типа// объявлены и инициализированы// в одной строкеvar myvariable1, myvariable2, myvariable3 int= 2, 454, 67// Отображаем значения переменныхfmt.Printf("The value of myvariable1 is : %d\n",myvariable1)fmt.Printf("The value of myvariable2 is : %d\n",myvariable2)fmt.Printf("The value of myvariable3 is : %d",myvariable3)}- Выход:
The value of myvariable1 is : 2 The value of myvariable2 is : 454 The value of myvariable3 is : 67
- Если вы удаляете тип, вам разрешается объявлять несколько переменных другого типа в одном объявлении. Тип переменных определяется инициализированными значениями.Пример:
// Перейти к программе для иллюстрации// понятие переменнойpackage mainimport "fmt"func main() {// Несколько переменных разных типов// объявляются и инициализируются в одной строкеvarmyvariable1, myvariable2, myvariable3 = 2, "GFG", 67.56// Показать значение и// тип переменныхfmt.Printf("The value of myvariable1 is : %d\n",myvariable1)fmt.Printf("The type of myvariable1 is : %T\n",myvariable1)fmt.Printf("\nThe value of myvariable2 is : %s\n",myvariable2)fmt.Printf("The type of myvariable2 is : %T\n",myvariable2)fmt.Printf("\nThe value of myvariable3 is : %f\n",myvariable3)fmt.Printf("The type of myvariable3 is : %T\n",myvariable3)}- Выход:
The value of myvariable1 is : 2 The type of myvariable1 is : int The value of myvariable2 is : GFG The type of myvariable2 is : string The value of myvariable3 is : 67.560000 The type of myvariable3 is : float64
- Вы можете инициализировать набор переменных с помощью вызывающей функции, которая возвращает несколько значений.Пример:
// Here, os.Open function return a // file in i variable and an error // in j variable var i, j = os.Open(name)
- Использование краткого объявления переменных: Локальные переменные, которые объявляются и инициализируются в функциях, объявляются с помощью краткого объявления переменных.Синтаксис:
variable_name:= expression
- Примечание: пожалуйста, не путайте между : = и =, поскольку : = является объявлением, а = является назначением.
- Важные моменты:
- В приведенном выше выражении тип переменной определяется типом выражения.Пример:
// Перейти к программе для иллюстрации// понятие переменнойpackage mainimport "fmt"func main() {// Использование краткого объявления переменнойmyvar1 := 39myvar2 := "GeeksforGeeks"myvar3 := 34.67// Отображаем значение и тип переменныхfmt.Printf("The value of myvar1 is : %d\n", myvar1)fmt.Printf("The type of myvar1 is : %T\n", myvar1)fmt.Printf("\nThe value of myvar2 is : %s\n", myvar2)fmt.Printf("The type of myvar2 is : %T\n", myvar2)fmt.Printf("\nThe value of myvar3 is : %f\n", myvar3)fmt.Printf("The type of myvar3 is : %T\n", myvar3)}- Выход:
The value of myvar1 is : 39 The type of myvar1 is : int The value of myvar2 is : GeeksforGeeks The type of myvar2 is : string The value of myvar3 is : 34.670000 The type of myvar3 is : float64
- Большинство локальных переменных объявляются и инициализируются с помощью кратких объявлений переменных благодаря их краткости и гибкости.
- Объявление переменных var используется для тех локальных переменных, которым нужен явный тип, который отличается от выражения инициализатора, или для тех переменных, значения которых присваиваются позже и инициализированное значение не имеет значения.
- Используя краткое объявление переменных, вы можете объявить несколько переменных в одном объявлении.Пример:
// Перейти к программе для иллюстрации// понятие переменнойpackage mainimport "fmt"func main() {// Использование краткого объявления переменной// Несколько переменных одного типа// объявлены и инициализированы в// единственная строкаmyvar1, myvar2, myvar3 := 800, 34, 56// Показать значение и// тип переменныхfmt.Printf("The value of myvar1 is : %d\n", myvar1)fmt.Printf("The type of myvar1 is : %T\n", myvar1)fmt.Printf("\nThe value of myvar2 is : %d\n", myvar2)fmt.Printf("The type of myvar2 is : %T\n", myvar2)fmt.Printf("\nThe value of myvar3 is : %d\n", myvar3)fmt.Printf("The type of myvar3 is : %T\n", myvar3)}- Выход:
The value of myvar1 is : 800 The type of myvar1 is : int The value of myvar2 is : 34 The type of myvar2 is : int The value of myvar3 is : 56 The type of myvar3 is : int
- В коротком объявлении переменной вы можете инициализировать набор переменных вызывающей функцией, которая возвращает несколько значений.Пример:
// Here, os.Open function return // a file in i variable and an // error in j variable i, j := os.Open(name)
- Краткое объявление переменной действует как присваивание только тогда, когда для тех переменных, которые уже объявлены в том же лексическом блоке. Переменные, объявленные во внешнем блоке, игнорируются. И, по крайней мере, одна переменная является новой переменной из этих двух переменных, как показано в примере ниже.Пример:
// Перейти к программе для иллюстрации// понятие переменнойpackage mainimport "fmt"func main() {// Использование краткого объявления переменной// Здесь действует краткое объявление переменной// как присваивание переменной myvar2// потому что одна и та же переменная присутствует в том же блоке// поэтому значение myvar2 изменено с 45 на 100myvar1, myvar2 := 39, 45myvar3, myvar2 := 45, 100// Если вы попытаетесь запустить закомментированные строки,// тогда компилятор выдаст ошибку, потому что// эти переменные уже определены// myvar1, myvar2: = 43, 47// myvar2: = 200// Отображаем значения переменныхfmt.Printf("The value of myvar1 and myvar2 is : %d %d\n",myvar1, myvar2)fmt.Printf("The value of myvar3 and myvar2 is : %d %d\n",myvar3, myvar2)}- Выход:
The value of myvar1 and myvar2 is : 39 100 The value of myvar3 and myvar2 is : 45 100
- Используя краткое объявление переменных, вы можете объявить несколько переменных разных типов в одном объявлении. Тип этих переменных определяется выражением.Пример:
// Перейти к программе для иллюстрации// понятие переменнойpackage mainimport "fmt"func main() {// Использование краткого объявления переменной// Несколько переменных разных типов// объявляются и инициализируются в одной строкеmyvar1, myvar2, myvar3 := 800, "Geeks", 47.56// Отображаем значение и тип переменныхfmt.Printf("The value of myvar1 is : %d\n", myvar1)fmt.Printf("The type of myvar1 is : %T\n", myvar1)fmt.Printf("\nThe value of myvar2 is : %s\n", myvar2)fmt.Printf("The type of myvar2 is : %T\n", myvar2)fmt.Printf("\nThe value of myvar3 is : %f\n", myvar3)fmt.Printf("The type of myvar3 is : %T\n", myvar3)}- Выход:
The value of myvar1 is : 800 The type of myvar1 is : int The value of myvar2 is : Geeks The type of myvar2 is : string The value of myvar3 is : 47.560000 The type of myvar3 is : float64