Переменные

Последнее обновление: 20.12.2017

Для хранения данных в программе применяются переменные. Переменная представляет именованный участок в памяти, который может хранить некоторое значение. Для определения переменной применяется ключевое слово var, после которого идет имя переменной, а затем указывается ее тип:

var имя_переменной тип_данных

Имя переменной представляет произвольный идентификатор, который состоит из алфавитных и цифровых символов и символа подчеркивания. При этом первым символом должен быть либо алфавитный символ, либо символ подчеркивания. При этом имена не должны представлять одно из ключевых слов: break, case, chan, const, continue, default, defer, else, fallthrough, for, func, go, goto, if, import, interface, map, package, range, return, select, struct, switch, type, var.

Например, простейшее определение переменной:

var hello string

Данная переменная называется hello и она представляет тип string, то есть некоторую строку.

Можно одновременно объявить сразу несколько переменных через запятую:

var a, b, c string

В данном случае определены переменные a, b, c, которые имеют тип string. В этом случае опять же в конце указывается тип данных, и все переменные принадлежат этому типу.

После определения переменной ей можно присвоить какое-либо значение, которое соответствует ее типу:

package main
import "fmt"

func main() {
	var hello string
	hello = "Hello world"
	fmt.Println(hello)
}

Поскольку переменная hello представляет тип string, ей можно присвоить строку. В данном случае переменная hello хранит строку "Hello world". С помощью функции Println значение этой переменной выводится на консоль.

Также важно учитывать, что Go - регистрозависимый язык, то есть переменные с именами "hello" и "Hello" будут представлять разные переменные:

var hello string
hello = "Hello world"
fmt.Println(Hello)	// ! Ошибка переменной Hello нет, есть переменная hello

Также можно сразу при объявлении переменной присвоить ей начальное значение. Такой прием называется инициализацией:

package main
import "fmt"

func main() {
	var hello string = "Hello world"
	fmt.Println(hello)
}

Если мы хотим сразу определить несколько переменных и присвоить им начальные значения, то можно обернуть их в скобки:

package main
import "fmt"

func main() {
	var (
		name string = "Tom"
		age int = 27
	)
	
	fmt.Println(name)	// Tom
	fmt.Println(age)	// 27
}

Отличительной особенностью переменных является то, что их значение можно многократно изменять:

package main
import "fmt"

func main() {
	var hello string = "Hello world"
	fmt.Println(hello)	// Hello world
	
	hello = "Hello Go"
	fmt.Println(hello)	// Hello Go
	
	hello = "Go Go Go Ole Ole Ole"
	fmt.Println(hello)	// Go Go Go Ole Ole Ole
}

Краткое определение переменной

Также допустимо краткое определение переменной в формате:

имя_переменной := значение

После имени переменной ставится двоеточие и равно и затем указывается ее значение.

package main
import "fmt"

func main() {
	name := "Tom"
	fmt.Println(name)
	
}

В этом случае тип данных явным образом не указывается, он выводится автоматически из присваиваемого значения.

Помощь сайту
Юмани:
410011174743222
Перевод на карту
Номер карты:
4048415020898850