Go Basics

Go Variables and Constants: var, := and const

Two ways to declare a variable, what a zero value is, and values that never change.

  • Beginner
  • 2 min read
  • 1 runnable example
What you'll learn
  • var and :=
  • Zero values
  • const
Declaration → result
var year int0, the zero value
score := 10int, inferred
const MaxScore = 100cannot change

Declare, then use

Go has two ways to create a variable. var names the type, and := lets Go work out the type from the value. A variable that is declared without a value gets a zero value such as 0 or an empty string.

year is declared without a value, so it starts at 0 until 2009 is assigned. := can only be used inside a function and can declare several variables at once. A const cannot be changed after it is declared.

Key points

  1. var names the type; := infers it.
  2. A variable without a value starts at its zero value.
  3. A const cannot change.

Runnable Go example

Go
Run code →
main.go
package main

import "fmt"

const MaxScore = 100

func main() {
	var language string = "Go"
	var year int // zero value: 0
	score := 10  // short declaration, type inferred
	score += 5
	year = 2009

	name, version := "gopher", 1.21
	fmt.Println(language, year, score, MaxScore)
	fmt.Println(name, version)
}
Get a Run button for this example Result of running the code
Go 2009 15 100
gopher 1.21

Practice

Open the example in the online compiler, change a value or add a line, and predict the output before you run it. Then break the code on purpose and read the compiler's message.

Finished this lesson?

Mark it as learned to track your progress.

Next: Data Types →

Practice with a challenge

Use what this lesson covers to solve a real problem. Each challenge runs in your browser with instant tests and an AI review.

All challenges