(2 minutes for reading)
Go is a statically typed programming language. This means that variables always have a specific type and that type cannot change. The keyword var is used for declaring variables of a particular data type. Here is the syntax for declaring variables
var name_of_variable [data type] = [value]
var x int = 1
var y float = 19.9
var myName string = "thaibao"
var isGoodWebsite = true
Go has various value types including strings, integers, floats, booleans, etc. Here are a few basic examples.
Try an example to practice with variable:
package main
import "fmt"
func main() {
var x int = 100
fmt.Println("x = ", x)
var y = 19.9
fmt.Println("y = ", y)
var myName = "thaibao"
fmt.Println("myName = ", myName)
var isGoodWebsite = true
fmt.Println("isGoodwebsite = ", isGoodWebsite)
}
OK, what happen in demo. I declared x with int(integer data type) and print out console with format “x = value of x”, and step by step with some example, we have results on screen.

Easy? Now, we have some thing more fun. An advance feature of “var” keyword. “var” can support to declares 1 or more variables.
func main() {
var x1, x2, x3 int = 21, 6, 1987
fmt.Println("x1 = ", x1)
fmt.Println("x2 = ", x2)
fmt.Println("x3 = ", x3)
}
Run and get below result

MORE:
If you are using an initializer expression for declaring variables, you can omit the type using short variable declaration as shown here:
func main() {
// this is a short declaring variable and value, omit data type because you knew what it is
thisAStringVariableMyEmail := "thaibao56@gmail.com"
fmt.Println("I will print this varible for you:", thisAStringVariableMyEmail)
}

View on github