English | 简体中文 | 繁體中文 | Русский язык | Français | Español | Português | Deutsch | 日本語 | 한국어 | Italiano | بالعربية
Другие темы Golang
Типичные программы используют различные значения, которые могут изменяться в процессе выполнения.НапримерПеременная. Переменная - это占位ник информации, которую можно изменить в процессе выполнения. И переменные позволяют извлекать и обрабатывать хранящуюся информацию. Программа, выполняющая某些 операции с введенными пользователем значениями, может иметь разные значения для разных пользователей. Поэтому необходимо использовать переменные, так как другие пользователи могут не использовать одинаковые значения. Когда пользователь вводит новый значения, которые будут использоваться в процессе выполнения, эти значения временно хранятся в случайном доступе к памяти компьютера, эти значения различаются в зависимости от части памяти, и поэтому этот термин также называется
ПеременнаяПравила именования:
Имя переменной должно начинаться с буквы или подчеркивания (_), и в имени могут содержаться буквы «a-z» или «A-Z», цифры 0-9 и символ «_».
Geeks, geeks, _geeks23 //допустимые имена переменных 123Geeks, 23geeks //недопустимые имена переменных
Имена переменных не должны начинаться с цифры.
234geeks //недопустимое имя переменной
Имена переменных различаются по регистру.
geeks и Geeks - это две разные переменные
Ключевые слова не могут использоваться в качестве имён переменных.
Длина имени переменной не ограничена, но рекомендуется использовать длину от 4 до 15 символов.
В языке Go переменные создаются двумя различными способами:
(1) Использование ключевого слова var:В языке Go переменные создаются с использованием специфического типаvarКлючевые слова создают, которые связаны с именем переменной и придают ему начальное значение.
Syntax:
var variable_name type = expression
Important note:
В указанной грамматике:Тип (тип) Или=Выражение можно удалить, но не одновременно удалять две переменные в объявлении.
Если тип был удален, то тип переменной устанавливается из значения выражения.
//变量的概念 package main import "fmt" func main() { //变量声明和初始化 // Экспlicit type Переменная var myvariable1 = 20 Переменная var myvariable2 = "w3codebox" Переменная var myvariable3 = 34.80 // Показать значение и // Тип переменных fmt.Printf("Значение переменной myvariable1: %d\n", myvariable1) fmt.Printf("Тип переменной myvariable1: %T\n", myvariable1) fmt.Printf("Значение myvariable2 составляет: %s\n", myvariable2) fmt.Printf("Тип переменной myvariable2: %T\n", myvariable2) fmt.Printf("Значение myvariable3 составляет: %f\n", myvariable3) fmt.Printf("Тип переменной myvariable3: %T\n", myvariable3) }
Вывод:
Значение myvariable1 составляет: 20 Тип переменной myvariable1: int Значение переменной myvariable2: w3codebox Тип переменной myvariable2: string Значение myvariable3 составляет: 34.800000 Тип переменной myvariable3: float64
Если удалить выражение, то тип переменной становится нулевым, число нулевым, логическое значение false, строка""и типы интерфейсов и ссылки равны nil. Поэтому,В языке Go нет концепции неинициализированных переменных.
package main import "fmt" func main() { // Объявление и инициализация переменных без использования выражения Переменная var myvariable1 int Переменная var myvariable2 string Переменная var myvariable3 float64 // Показ переменной со значением 0 fmt.Printf("Значение переменной myvariable1: %d\n", myvariable1) fmt.Printf("Значение myvariable2 составляет: %d\n", myvariable2) fmt.Printf("Значение myvariable3 составляет: %d\n", myvariable3) }
Вывод:
Значение myvariable1 составляет: 0 Значение myvariable2 составляет: %!d(string=) Значение myvariable3 составляет: %!d(float64=0)
Если использовать тип, то можно в одном объявлении声明 несколько переменных одного типа.
package main import "fmt" func main() { // Одновременное объявление и инициализация нескольких переменных одного типа в строке Переменные var myvariable1, myvariable2, myvariable3 int = 2, 454, 67 // Вывод значений переменных fmt.Printf("Значение переменной myvariable1: %d\n", myvariable1) fmt.Printf("Значение myvariable2 составляет: %d\n", myvariable2) fmt.Printf("Значение myvariable3 составляет: %d\n", myvariable3) }
Вывод:
Значение myvariable1 составляет: 2 Значение myvariable2 составляет: 454 Значение myvariable3 составляет: 67
Если удалить тип, то можно в одном объявлении声明 несколько переменных разных типов. Тип переменной определяется значением инициализации.
package main import "fmt" func main() { // множественные переменные с различными типами // декларация и инициализация в одной строке Переменные var myvariable1, myvariable2, myvariable3 = 2, "GFG", 67.56 // печать значения и типа переменных fmt.Printf("Значение переменной myvariable1: %d\n", myvariable1) fmt.Printf("Тип переменной myvariable1: %T\n", myvariable1) fmt.Printf("\nЗначение переменной myvariable2: %s\n", myvariable2) fmt.Printf("Тип переменной myvariable2: %T\n", myvariable2) fmt.Printf("\nЗначение переменной myvariable3: %f\n", myvariable3) fmt.Printf("Тип переменной myvariable3: %T\n", myvariable3) }
Вывод:
Значение myvariable1 составляет: 2 Тип переменной myvariable1: int Значение myvariable2 составляет: GFG Тип переменной myvariable2: string Значение myvariable3 составляет: 67.560000 Тип переменной myvariable3: float64
A function call that returns multiple values allows you to initialize a set of variables.
For example:
//here, the os.Open function returns a //a variable i in the file and an error //in the j variable var i, j = os.Open(name)
(II) Using short variable declaration: Using short variable declarationto declare and initialize local variables declared in a function.
Syntax:
variable_name:= expression
Note:Please do not put:=and=confusion between:= is declaration, and = is assignment.
Important note:
In the above expression, the type of the variable is determined by the type of the expression.
package main import "fmt" func main() { //use short variable declaration myvariable1 := 39 myvariable2 := "oldtoolbag.com" myvariable3 := 34.67 // печать значения и типа переменных fmt.Printf("Значение переменной myvariable1: %d\n", myvariable1) fmt.Printf("Тип переменной myvariable1: %T\n", myvariable1) fmt.Printf("\nЗначение переменной myvariable2: %s\n", myvariable2) fmt.Printf("Тип переменной myvariable2: %T\n", myvariable2) fmt.Printf("\nЗначение переменной myvariable3: %f\n", myvariable3) fmt.Printf("Тип переменной myvariable3: %T\n", myvariable3) }
Вывод:
The value of myvariable1 is: 39 Тип переменной myvariable1: int The value of myvariable2 is: oldtoolbag.com Тип переменной myvariable2: string The value of myvariable3 is: 34.670000 Тип переменной myvariable3: float64
Due to their conciseness and flexibility, most local variables are declared and initialized using short variable declarations.
The var declaration of variables is used for local variables that need explicit types different from the initial value assignment expression, or for those whose values are assigned later and the initial value is not important.
Using short variable declarations, multiple variables can be declared in a single declaration.
package main import "fmt" func main() { //declare and initialize variables in a single line // короткое объявление переменных //multiple variables of the same type myvariable1, myvariable2, myvariable3 := 800, 34.7, 56.9 // печать значения и типа переменных fmt.Printf("Значение переменной myvariable1: %d\n", myvariable1) fmt.Printf("Тип переменной myvariable1: %T\n", myvariable1) fmt.Printf("\nmyvariable2的值是 : %f\n", myvariable2) fmt.Printf("Тип переменной myvariable2: %T\n", myvariable2) fmt.Printf("\nЗначение переменной myvariable3: %f\n", myvariable3) fmt.Printf("Тип переменной myvariable3: %T\n", myvariable3) }
Вывод:
Значение переменной myvariable1: 800 Тип переменной myvariable1: int The value of myvariable2 is: 34.700000 The type of myvariable2 is: float64 The value of myvariable3 is: 56.900000 Тип переменной myvariable3: float64
In short variable declarations, it is allowed to initialize a set of variables by calling a function that returns multiple values.
//here, the os.Open function returns a //a variable i in the file and an error //in the j variable i, j := os.Open(name)
A short variable declaration only acts like an assignment for those variables already declared in the same syntax block. Variables declared in the external block will be ignored. As shown in the following example, at least one of these variables is a new variable.
package main import "fmt" func main() { // короткое объявление переменных //here, the short variable declaration action //as the assignment of the myvar2 variable //because the same variable exists in the same block //therefore, the value of myvar2 is changed from 45 to 100 myvar1, myvar2 := 39, 45 myvar3, myvar2 := 45, 100 // если вы попытаетесь запустить строку с комментариями // компилятор выдаст ошибку, потому что // эти переменные уже определены, например // myvar1, myvar2 := 43, 47 // myvar2 := 200 // печать значений переменных fmt.Printf("Значения myvar1 и myvar2: %d %d\n", myvar1, myvar2) fmt.Printf("Значения myvar3 и myvar2: %d %d\n", myvar3, myvar2) }
Вывод:
Значения myvar1 и myvar2: 39 100 Значения myvar3 и myvar2: 45 100
Использование короткого объявления переменных позволяет объявлять несколько переменных различных типов в одном выражении. Тип переменной определяется выражением.
package main import "fmt" func main() { // декларация и инициализация в одной строке // короткое объявление переменных // множественные переменные с различными типами myvariable1, myvariable2, myvariable3 := 800, "w3codebox", 47.56 // печать значения и типа переменных fmt.Printf("Значение переменной myvariable1: %d\n", myvariable1) fmt.Printf("Тип переменной myvariable1: %T\n", myvariable1) fmt.Printf("\nЗначение переменной myvariable2: %s\n", myvariable2) fmt.Printf("Тип переменной myvariable2: %T\n", myvariable2) fmt.Printf("\nЗначение переменной myvariable3: %f\n", myvariable3) fmt.Printf("Тип переменной myvariable3: %T\n", myvariable3) }
Вывод:
Значение переменной myvariable1: 800 Тип переменной myvariable1: int Значение переменной myvariable2: w3codebox Тип переменной myvariable2: string Значение переменной myvariable3: 47.56 Тип переменной myvariable3: float64