Sobes.tech
Intern

Is the Go language imperative or declarative?

sobes.tech AI

Answer from AI

Go is an imperative programming language. Programs in Go consist of a sequence of instructions that explicitly describe how to perform a task.

Main characteristics:

  • Focus on "how": The programmer precisely specifies the steps the computer should take.
  • State change: The code directly affects the state of memory and variables.
  • Step-by-step execution: The program executes instruction by instruction.

Example of an imperative approach in Go:

// Imperative approach: explicitly describing steps to calculate the sum
func sumImperative(numbers []int) int {
	total := 0 // explicit assignment of initial value
	for _, num := range numbers { // loop with explicit iteration over elements
		total += num // explicit change of the total variable's state
	}
	return total
}

Unlike declarative languages, where you describe "what" you want to achieve (for example, an SQL query or HTML markup), in Go you tell the computer "how" to do it.