Переменная: переменная — это место хранения для хранения значения. Набор допустимых значений определяется типом переменной.
Язык Java имеет примитивный тип и объекты, оба имеют разный синтаксис для объявления переменной либо примитивного типа, либо объектного типа.

Animal a = new Animal() 
Student s = new Student()

Java — это объектно-ориентированный язык, поэтому у нас может быть модификатор доступа для объявления переменных.

private int a 
public String b 
protected float c 
private Animal a

В Java мы можем объявить переменную во многих местах, таких как локальная переменная, параметры, уровень класса, переменная экземпляра.
Именование переменных

  1. Имена переменных чувствительны к регистру
  2. Последовательность букв и цифр Unicode неограниченной длины.
  3. Начинается с буквы, знака доллара «$» или символа подчеркивания «_».
  4. В качестве идентификатора переменной не допускаются специальные символы
  5. Мы не можем использовать зарезервированные ключевые слова

Переменные в Go создаются, сначала используя ключевое слово 'var', затем указывая имя переменной, тип и, наконец, присваивая значение переменной.

package main
import "fmt"
func main() {
 var x int // Line 1 
 x = 10 // Line 2 
 var y string = "Hello Go!" // Line 3 
 fmt.Println(x) 
 fmt.Println(y) 
}

В строке 1 var указывает, что это переменная, x — имя переменной, а int — тип переменной. В строке 2 мы присваиваем значение переменной x. В строке 3 мы объявляем строковую переменную и присваиваем ее в одной строке
Поскольку создание новой переменной с начальным значением так распространено, Go также поддерживает более короткий оператор:

y:= "Hello Go!"

С приведенным выше более коротким синтаксисом компилятор Go автоматически определит, что y является переменной строкового типа, а значение — «Hello Go!».
Объявление нескольких переменных одновременно

var ( name string 
      age int
      location string 
    )

Go не является объектно-ориентированным языком, поэтому у нас нет модификатора доступа, как в Java. В языке Go у нас есть два места для объявления переменных: 1. Внутри функции 2. Внешняя функция.
Функция/локальная переменная

package main
import "fmt"
func main(){
    var x int = 10  
    fmt.Println(x)
}

Глобальная переменная: любая функция может получить доступ к переменной y, x — локальная переменная, доступная только внутри основной функции.

package main
import "fmt"
var y int =10
func main(){
    var x int = 10
    fmt.Println(x)
    fmt.Println(y)
}
func hello(){
    fmt.Println(y)
}

Имя переменной

  1. Имя должно начинаться с буквы
  2. Имя может содержать букву, цифру и подчеркивание (_)
  3. Имя чувствительно к символу. Число и число рассматриваются как две разные переменные.