English | 简体中文 | 繁體中文 | Русский язык | Français | Español | Português | Deutsch | 日本語 | 한국어 | Italiano | بالعربية

Онлайн инструменты

Golang базовый учебник

Golang управляющие структуры

Golang функции и методы

Golang структуры

Golang срезы и массивы

Golang строки (String)

Golang указатели

Golang интерфейсы

Golang параллелизм

Golang исключения (Error)

Переменные языка Go

Другие темы 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