In Go, values can be unnamed or named. Unnamed values are literals such as
"Codecademy". Named values have a name attached to the value and they can either be unchangeable as constants or changeable as variables once defined.
// literal unnamed valuefmt.Println("PI = ", 3.14159)// constant named valueconst pi = 3.14159// variable named valuevar radius = 6
In Go, values have a data type. The data type determines what type of information is being stored and how much space is needed to store it. Go has basic data types such as:
int8, uint8, int16, uint16, int32 , uint32, int64, uint64, int, uint, uintptr
A Go variable has a name attached to a value but unlike a Go constant, a variable’s value can be changed after it has been defined. There are four ways to declare and assign a Go variable:
varkeyword followed by a name and its data type. This variable can be assigned later in the program. For example:
var fruit stringfruit = "apple"
varkeyword followed by a name, data type,
var fruit string = "apple"
varkeyword, followed by a name,
=and value. Ignore the data type and let the compiler infer its type.
var fruit = "apple"
varkeyword, define a name followed by
:=and value and let the compiler infer its type.
fruit := "apple"
In Go, errors are raised when the compiler doesn’t recognize the code as valid. The error message is printed to the terminal and contains the following information:
./Main.go:11:3: undefined: dinner
This particular error occurs in the file main.go at line
3 characters into the line, and its error type and reason is
string is a data type that stores text or a sequence of characters in any length in double-quoted form. To concatenate two strings, use the
var firstName string = "Abe"var lastName string = "Lincoln"// prints "Abe Lincoln"fmt.Println(firstName + " " + lastName)
In Go, when a variable is declared without initializing a value, it has a default value. The default value is known as the zero value.
Different zero values exist for different data types:
Type Zero Value ints 0 floats 0 string "" (empty string) boolean false
When we declare a Go variable without specifying its data type and assign the variable (using
var =) to a whole number, the Go compiler automatically infers the variable data type as an
int. For example:
score := 85var temperature = 60
Unlike constants, Go variables can change their values if we reassign new values to them. For example:
var zipcode = "02134"zipcode = "03035"
Go supports additional assignment operators that updates a variable by performing an operation such as addition, subtraction, multiplication or division to iself.
// sum = sum + valuesum += value// total = total - valuetotal -= value// average = average / quantityaverage /= quantity// price = price * quantityprice *= quantity
Multiple Go variables can be declared and initialized on the same line delimited with a comma. If they are of the same type, the type can be optionally declared after the variable names before the assignment operator. For example:
var x, y int = -1, 5a, b := 7, 2fmt.Println(x, y, a, b)// -1, 5, 7, 2
If the variables are of different types, they can also be declared on the same line without the type designation.
found, answer := true, "yes"var name, age = "Steve", 35fmt.Println(found, answer, name, age)// true, "yes", "Steve", 35